Installation d'un cron avec SSH

cifedhop -  
TLa Messages postés 57 Statut Membre -
Bonjour,

J'avais réussi à installer un cron partir de Terminal après y avoir passé deux jours en suivant la procédure indiquée à la page https://docs.moodle.org/3x/fr/Cron
Voici la commande que j'avais entrée
*/10 * * * * wget -q -O /root/moodle/cron.log http://www.monsite/admin/cron.php?password=monmotdepasse

J'ai malheureusement voulu modifier le script pour écourter la fréquence des sauvegardes, et depuis, quand je tape « crontab -i » pour vérifier voici ce que j'obtiens :
crontab: usage error: unrecognized option
usage: crontab [-u user] file
crontab [-u user] { -e | -l | -r }
J'ai bien sûr essayé de recommencer la procédure depuis le début, mais le problème demeure.

À ce stade, je me demande s'il n'y aurait pas un moyen de réinitialiser Terminal ou le shell, parce que même après avoir suprimé la ligne de commande à l'aide crontab -e, j'ai toujours le même message d'erreur.
crontab: usage error: unrecognized option
usage: crontab [-u user] file
crontab [-u user] { -e | -l | -r }

En tant que néophite je demande votre indulgence face à mon ignorance, mais surtout des conseils pour trouver une solution.

Merci d'avance si vous pouvez m'aider.
A voir également:

19 réponses

TLa Messages postés 57 Statut Membre 12
 
Bonjour,

Pourquoi -i ? C'est une option qui n'existe pas ! -l (l comme Laure) peut être ?

Personnelement, je trouve le -e pas pratique.
Je te conseil d'éditer un fichier texte genre crontab.txt
puis d'executer crontab crontab.txt

crontab -l pour vérifier.

---

plus d'aide avec
man 1 crontab
man 8 crontab
0
cifedhop
 
Merci de ta réponse.
Si je comprends bien, je dois coller la commande */10 * * * * wget -q -O /root/moodle/cron.log http://www.portail-eip.org/admin/cron.php?password=utopie dans un ficher texte que je nomme crontab.
Mais après ? Je suis novice et je ne sais pas comment procéder pour executer crontab crontab.txt
Peux-tu m'aider ?
0
TLa Messages postés 57 Statut Membre 12 > cifedhop
 
pour éviter la confusion, nomme le crontab.txt

oui tu copie la ligne

*/10 * * * * wget -q -O /root/moodle/cron.log http://www.portail-eip.org/admin/cron.php?password=pass
dans ce fichier
et tu execute
crontab crontab.txt
en ligne de commande dans le repertoire où est le fichier.

ps :
enleve ton mot de passe du message ça sera plus sur !
0
cifedhop > TLa Messages postés 57 Statut Membre
 
Merci,
Je viens d'essayer, voici ce qui apparait
"/Users/monnom/Desktop/crontab.txt":0: bad minute
crontab: errors in crontab file, can't install
Sais-tu à quoi ça correspond ?
0
TLa Messages postés 57 Statut Membre 12
 
avec quoi tu édites ton fichier texte ?

sur le mac d'un ami je n'ai pas d'erreur :

00:33:50 ami@imac-g5 ~
cat >crontab.txt
*/10 * * * * wget -q -O /root/moodle/cron.log http://www.portail-eip.org/admin/cron.php?password=pass
Ctrl-D pour quitter la création via cat
00:34:03 ami@imac-g5 ~
crontab crontab.txt
00:34:07 ami@imac-g5 ~
crontab -l
*/10 * * * * wget -q -O /root/moodle/cron.log http://www.portail-eip.org/admin/cron.php?password=pass
0
cifedhop
 
J'ai utilisé Textdit

J'ai recommencé en écrivant cat puis en glissant mon fichier crontab.txt (pour le chemin vers le fichier) puis j'ai quitté. Voilà ce qui s'affiche
cat /Users/monnom/Desktop/crontab.txt
{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430
{\fonttbl\f0\fnil\fcharset0 Cambria;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww9000\viewh8400\viewkind0
\deftab720
\pard\pardeftab720\ri-46\sl320\sa160

\f0\fs22 \cf0 */10 * * * * wget -q -O /root/moodle/cron.log http://www.portail-eip.org/admin/cron.php?password=monmotdepasse}veronique:~ monnom$ logout

J'ai pensé que mon problème était réglé, mais en vérifiant avec crontab -i, j'obtiens
-bash: controltab: command not found

As-tu encore la patience de m'aider ?
0
TLa Messages postés 57 Statut Membre 12 > cifedhop
 
ton fichier crontab.txt est enregistré au format rtf -> pas bon.

fait dans le terminal :
rm /Users/monnom/Desktop/crontab.txt (effacement du fichier)
touch /Users/monnom/Desktop/crontab.txt (création fichier vide)

sur ton bureau ouvre le document crontab.txt,
normalement textEdit se lance
colle ta ligne */10 * * * * wget -q -O /root/moodle/cron.log http://www.portail-eip.org/admin/cron.php?password=monmotdep­asse
fait enregistrer sous, normalement tu doit pouvoir enregistrer au format occidental qqchose

il faut absolument que la commande cat crontab.txt t'affiche que:
*/10 * * * * wget -q -O /root/moodle/cron.log http://www.portail-eip.org/admin/cron.php?password=monmotdep­asse
0
cifedhop
 
Bonjour,

J'ai un souci avec l'extension txt.

Une fois que j'ai tapé rm /Users/monnom/Desktop/crontab.txt (Là j'ai validé en tapant enter), puis
touch /Users/monnom/Desktop/crontab.txt.
J'ai ensuite ouvert le fichier crontab.txt qui était effectivement vide et y ai collé la ligne */10 * * * * wget -q -O /root/moodle/cron.log http://www.portail-eip.org/admin/cron.php?password=monmotdep–asse
Le problème c'est que je n'ai pas la possibilité de l'enregistrer au format occidental, ni même en format txt. J'ai d'autre options mais pas celles-ci.

J'ai donc recommencé avec un fichier que j'ai cette fois créé avec Word. Je l'ai enregistré en format txt et ai coché occidental (Mac Os Roman). J'ai ensuite demandé à l'ouvrir avec TextEdit. Quand j'ai enregistré sous, l'option occidental que je n'avais pas est apparue, mais quand j'ai tapé cat crontab.txt, rien n'est apparu sinon mon nom.

J'ai donc recommencé l'opération pour la troisième fois, mais cette fois-ci, quand j'ai tapé rm /Users/monnom/Desktop/crontab.txt, cela a eu pour effet de mettre le fichier crontab.txt à la poubelle ! J'ai donc recréé un dossier crontab.txt comme précédemment avec Word, mais l'option occidental n'était plus là quand j'ai voulu enregistrer sous...

Quelle autre application puis-je utiliser pour faire cette manip ?

Encore merci pour ton aide !
0
TLa Messages postés 57 Statut Membre 12
 
au faite, quand tu tapes wget dans le terminal ça dit quoi ?
0
TLa Messages postés 57 Statut Membre 12
 
Bonjour Véronique,

observation préliminaires :
1) je ne sais pas où tu as trouvé /root/moodle/cron.log mais je pense que pour ton mac ça devrait être /dev/null comme indiqué sur https://docs.moodle.org/3x/fr/Cron
2) la page http://www.portail-eip.org/admin/cron.php n'existe pas, après enquète et essais
c'est http://www.portail-eip.org/moodle/admin/cron.php?password=tonmotdepasse


on va faire le crontab.txt via le terminal.

copie colle les deux lignes ci-dessous dans un terminal
cat >crontab.txt
*/10 * * * * wget -q -O /dev/null http://www.portail-eip.org/moodle/admin/cron.php?password=monmotdep­asse

fait Ctrl-D en début de 3éme ligne, pour terminer la commande cat

puis fait
crontab crontab.txt


voila.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cifedhop
 
Quand je tape wget à l'ouverture de Terminal voici ce que j'obtiens.
-bash: wget: command not found
0
TLa Messages postés 57 Statut Membre 12
 
pas bon,
la commande que tu essaie de faire en automatique via cron n'est pas installé !

il te faut installer en suivant les instructions de :
1) http://www.darwinports.com/ , clique sur download et suis la procédure
2) http://www.darwinports.com/ , execute dans un terminal les commandes indiqués

puis test en executant dans le terminal:
wget
tu doit avoir en réponse :
wget: missing URL
Usage: wget [OPTION]... [URL]...
0
cifedhop > TLa Messages postés 57 Statut Membre
 
Finalement j'ai réussi à installer DarwinPorts 1.7 téléchargé à partir d'un autre site : https://www.macupdate.com/app/mac/21309/macports

Par contre après ça se complique. Je suis allée sur le site http://www.darwinports.com/ pour trouver les commandes à exécuter dans Terminal, mais je dois faire quelque chose de travers. Voici ce que j'obtiens:
veronique:~ monnom$ % cd /opt/local/bin/portslocation/dports/wget
-bash: fg: %: no such job
veronique:~ monnom$ % sudo port install wget
-bash: fg: %: no such job
veronique:~ monnom$ Password: monmotdepasse
-bash: Password:: command not found
veronique:~ monnom$

Ça te dit quelque chose ?
0
TLa Messages postés 57 Statut Membre 12 > cifedhop
 
enleve le %
le % dans la doc symbolise le prompt
c'est l'équivalent de ton prompt dans la ligne de commande : veronique:~ monnom$

chez toi , l'enchainement des commandes doit ressembler à :

veronique:~ monnom$ cd /opt/local/bin/portslocation/dports/wget
veronique:/opt/local/bin/portslocation/dports/wget $ sudo port install wget
Password : saisie ton mot de passe Mac à l'aveugle
veronique:/opt/local/bin/portslocation/dports/wget$
wget
wget: missing URL
Usage: wget [OPTION]... [URL]...

Try `wget --help' for more options.


avec
- en italique ce que le Mac t'affiche
- en gras ce que tu saisie au clavier
- en gras souligné ton mot de passe Mac

explication :
1) cd : change directory
2) sudo : set user and do, change d'utilisateur (le superutilisateur par défaut) et execute
3) port : commande principale du package darwinports, pour récupérer des fonctionnalités unix|BSD supplémentaire
4) wget : utilitaire en ligne de commande pour executer des requètes HTTP
0
cifedhop
 
Merci mille fois de ta patience ; je suis impressionnée.

J'ai fait les opérations suivantes mais je ne sais pas si ça va fonctionner. Je te dirai ça dans 10 mn, car j'ai envoyé un message sur l'un des forums pour vérifier.

J’ai fait cat >crontab.txt , j’ai validé en tapant sur enter
Puis j’ai collé */10 * * * * wget -q -O /dev/null http://www.portail-eip.org/moodle/admin/cron.php?password=monmotdepasse
Je suis passée à la ligne suivante en tapant enter
J’ai fait Ctrl-D puis j’ai validé en tapant sur enter
J’ai fait crontab crontab.txt puis j’ai validé en tapant sur enter
Voilà ce que j’ai obtenu

Last login: Tue Feb 10 17:29:25 on ttys002
You have new mail.
veronique:~ monnom$ cat >crontab.txt
*/10 * * * * wget -q -O /dev/null http://www.portail-eip.org/moodle/admin/cron.php?password=monmotdepasse
veronique:~ monnom$ crontab crontab.txt
veronique:~ monnom$

Pour vérifier si la commande était bien entrés j’ai fait controltab –e et voici ce que j’obtiens.
*/10 * * * * wget -q -O /dev/null http://www.portail-eip.org/moodle/admin/cron.php?password=monmotdepasse
0
TLa Messages postés 57 Statut Membre 12
 
c'est très bien, reste à avoir un wget fonctionnel

petite remarque :
crontab -e lance un editeur de texte en ligne de commande, en général vi assez déroutant pour le 'novice',
pour sortir de l'édition via vi tappe Echap:q!Enter

fait plutot crontab -l pour voir la configuration du cron
0
cifedhop
 
Ça va mal, je viens de télécharger run postflight scipt et l'installation a échoué... Je ne peux malheureusement pas joindre de fichier (capture) pour te montrer.
0
cifedhop
 
Bonjour, Tla

Je viens d'essayer ce que tu suggères. J'ai ouvert une nouvelle fenêtre Terminal et j'ai tapé
cd/opt/local/bin/portslocation/dports/wget
voici ce que j'obtiens
veronique:~ monnom$ cd/opt/local/bin/portslocation/dports/wget
-bash: cd/opt/local/bin/portslocation/dports/wget: No such file or directory

Impossible d'aller plus loin !

Désolée de t'ennuyer encore.
0
TLa Messages postés 57 Statut Membre 12
 
il faut un espace après cd !
cd /opt/local/bin/portslocation/dports/wget
0
cifedhop
 
La première fois je l'avais mis, puis je l'ai enlevé pensant que c'était ce qui permettait de supprimer le %.

Mais je viens d'essayer de nouveau avec l'espace et la réponse est la même
veronique:~ monnom cd /opt/local/bin/portslocation/dports/wget
-bash: cd: /opt/local/bin/portslocation/dports/wget: No such file or directory
veronique:~ monnom$
0
TLa Messages postés 57 Statut Membre 12
 
Bon, ce chemin vers la solution m'apparait compliqué.

que dit le terminal à la commande suivante ?
which tclsh
0
cifedhop
 
/usr/bin/tclsh
0
TLa Messages postés 57 Statut Membre 12
 
Bien,

enregistre le ficher, pointé par le lien ci-dessous, sur ton Bureau
http://www.larmoire.info/cifedhop/moodleCron.tcl

dans le terminal tape
tclsh ~/Desktop/moodleCron.tcl tonmotdepassemoodle

que donne l'execution de cette commande ?
0
cifedhop
 
veronique:~ monnom$ tclsh ~/Desktop/moodleCron.tcl monmotdepasse
http
www.portail-eip.org
80
/moodle/admin/cron.php?password=monmotdepasse
HTTP/1.1 200 OK
Date: Fri, 13 Feb 2009 16:40:38 GMT
Server: Apache/2.2.3 (Debian) PHP/5.2.0-8+etch13 mod_ssl/2.2.3 OpenSSL/0.9.8c JRun/4.0 mod_perl/2.0.2 Perl/v5.8.8
X-Powered-By: PHP/5.2.0-8+etch13
Connection: close
Content-Type: text/plain; charset=utf-8
Content-Language: fr
0
cifedhop
 
Bonjour,

J'étais tellement contente de voir que le cron était complété correctement que j'ai envoyé le courriel pour que tu vois que tu avais réussi, sans même te dire à quel point tu as été exemplaire pour m'accompagner dans cet exercice tout nouveau pour moi. Merci, merci, merci pour temps que tu as pris à régler mon problème

Petite question : est ce que lorsque je quitte terminal les tâches sont suspendues ?

Véronique
0
TLa Messages postés 57 Statut Membre 12
 
c'est pas tout à fait fini !

le script que tu a récupéré, est l'équivalent d'un wget
il reste à lancer tous ça par le cron

1) on déplace le script du Bureau dans ton repertoire utilisateur

veronique:~ monnom$ mv ~/Desktop/moodleCron.tcl ~/moodleCron.tcl

2) fabrication du fichier pour le crontab
attention change monnom et monMotDePasseMoodle

veronique:~ monnom$ cat >crontab.txt
*/10 * * * * /usr/bin/tclsh /Users/monnom/moodleCron.tcl monMotDePasseMoodle
Ctrl-D

4) application du fichier

veronique:~ monnom$ crontab crontab.txt

5) vérification

veronique:~ monnom$ crontab -l
*/10 * * * * /usr/bin/tclsh /Users/monnom/moodleCron.tcl monMotDePasseMoodle

et là tu peux fermer le terminal

quand ton Mac sera sous tension, toutes les 10 minutes, le script sera executé
0
cifedhop > TLa Messages postés 57 Statut Membre
 
Jétais entrain de te répondre et ai fait une fausse manœuvre.

Je te disais donc que ça n'a pas fonctionné et je l'avais obtenu
veronique:~ monnom$ mv ~/Desktop/moodleCron.tcl ~/moodleCron.tcl
mv: /Users/monnom/Desktop/moodleCron.tcl: No such file or directory
veronique:~ monnom$
0
TLa Messages postés 57 Statut Membre 12
 
Je n'ai pas reçu ton courriel ...
0
cifedhop
 
Je viens de faire ce que tu m'as indiqué, mais ça n'a pas fonctionné...
J'ai voulu recommencer et là voilà ce que j'obtiens
veronique:~ monnom$ mv ~/Desktop/moodleCron.tcl ~/moodleCron.tcl
mv: /Users/veroniquetruchot/Desktop/moodleCron.tcl: No such file or directory
veronique:~ monnom$
0
TLa Messages postés 57 Statut Membre 12
 
cette commande ne fonctionne qu'une fois,

teste si elle c'est bien passé avec :

veronique:~ monnom$ ls -al ~/moodleCron.tcl

normallement s'affiche des infos sur le fichier (taille, droits ...)

si tu as ces infos fait les étapes 2,3,4,5

sinon, décrit moi les messages
0
cifedhop
 
Voilà ce que j'ai. Puisje continuer les étapes ?

Last login: Fri Feb 13 12:25:47 on ttys000
You have new mail.
veronique:~ monnom$ mv ~/Desktop/moodleCron.tcl ~/moodleCron.tcl
mv: /Users/monnom/Desktop/moodleCron.tcl: No such file or directory
veronique:~ monnom$ ls -al ~/moodleCron.tcl
-rw-r--r-- 1 monnom monnom 753 13 fév 11:36 /Users/monnom/moodleCron.tcl
You have new mail in /var/mail/monnom
veronique:~ monnom$
0
TLa Messages postés 57 Statut Membre 12
 
oui fait les étapes 2,3,4,5
0
cifedhop
 
Après la deuxième étape, voici ce qui est indiqué

veronique:~ monnom$ cat >crontab.txt */10 * * * * /usr/bin/tclsh /Users/monnom/moodleCron.tcl motdepasse
cat: */10: No such file or directory
cat: Desktop: Is a directory
cat: Documents: Is a directory
cat: Downloads: Is a directory
cat: Library: Is a directory
cat: Magazines: Is a directory
cat: Movies: Is a directory
cat: Music: Is a directory
cat: Pictures: Is a directory
cat: Public: Is a directory
cat: Sites: Is a directory
cat: SparkAngels: Is a directory

Je n'ose pas continuer comme tu m'as dit que certaines opérations ne pouvaient être faites qu'une fois.
0
TLa Messages postés 57 Statut Membre 12
 
faut pas oublier d'appuier sur enter en fin de ligne,
change bien monnom et motdepasse

veronique:~ monnom$ cat >crontab.txtEnter
*/10 * * * * /usr/bin/tclsh /Users/monnom/moodleCron.tcl motdepasseEnter
Ctrl-D
veronique:~ monnom$
0
cifedhop
 
veronique:~ monnom$ cat >crontab.txt
*/10 * * * * /usr/bin/tclsh /Users/monnom/moodleCron.tcl motdepasse
veronique:~ monnom$ logout

[Opération terminée]


veronique:~ monnom$ crontab crontab.txt
veronique:~ monnom$ crontab -i
crontab: illegal option -- i
crontab: usage error: unrecognized option
usage: crontab [-u user] file
crontab [-u user] { -e | -l | -r }
veronique:~ monnom$

C'est un peu décourageant...





C'est décourageant...
0
TLa Messages postés 57 Statut Membre 12
 
c'est le même séquencement que ta réponse 12 (cifedhop, le mardi 10 février 2009 à 23:49:42)
0
cifedhop > TLa Messages postés 57 Statut Membre
 
Ça marche pour de bon !!! Je ne sais comment te remercier. Tu es non seulement très bon en programmation mais en plus tu es pédagogue et d'une patience d'ange.

En retour, si tu as besoin d'un coup de main pour réviser un texte, ça fait partie de mes compétences.

Mille fois merci !
0
TLa Messages postés 57 Statut Membre 12 > cifedhop
 
>En retour, si tu as besoin d'un coup de main pour réviser un texte, ça fait partie de mes compétences.
Je le note ...

Bonne continuation dans l'animation de tes sites.

ps: tu doit pouvoir cloturer ce fil de message, pour le passer en resolu.
0
cifedhop
 
On dirait que ça fonctionne ! Je viens de recevoir un message que j'avais posté sur un forum sans appeler lel cron manuellement. Je vais un deuxième essai d'envoi de message pour être sûre t te confirme.
0