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.
Configuration: Mac OS X
Firefox 3.0.6

19 réponses

Résumé de la discussion

Une erreur crontab: usage error: unrecognized option apparaît après avoir tenté de modifier la fréquence d’exécution d’un cron, et l’option -i n’est pas reconnue. Des réponses recommandent d’utiliser crontab -e pour éditer, crontab -l pour vérifier, et crontab -r pour supprimer, en évitant l’option inexistante -i. Certaines propositions suggèrent aussi de créer un fichier texte, par exemple crontab.txt, puis d’exécuter crontab crontab.txt pour charger la configuration et vérifier via crontab -l. En parallèle, il est utile de s’assurer que la ligne cron est correctement formatée et que les chemins des scripts ou des outils accessibles au système, afin d’éviter de nouvelles erreurs.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. 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
    1. 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
      1. 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
      2. 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
  2. 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
    1. 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
      1. 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
  3. 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
    1. TLa Messages postés 57 Statut Membre 12
       
      au faite, quand tu tapes wget dans le terminal ça dit quoi ?
      0
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. cifedhop
     
    Quand je tape wget à l'ouverture de Terminal voici ce que j'obtiens.
    -bash: wget: command not found
    0
    1. 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
      1. 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
      2. 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
  7. 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
    1. 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
  8. 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
  9. 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
  10. TLa Messages postés 57 Statut Membre 12
     
    il faut un espace après cd !
    cd /opt/local/bin/portslocation/dports/wget
    0
  11. 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
    1. 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
  12. 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
  13. 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
    1. 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
      1. 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
    2. TLa Messages postés 57 Statut Membre 12
       
      Je n'ai pas reçu ton courriel ...
      0
  14. 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
    1. 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
  15. 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
    1. TLa Messages postés 57 Statut Membre 12
       
      oui fait les étapes 2,3,4,5
      0
  16. 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
    1. 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
  17. 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
    1. 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
      1. 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
      2. 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
  18. 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