Crontab qui ne se lance pas

Résolu
Bonjour,
j'ai des problème à faire fonctionner ma crontab:
UBUNTU 11.04

l'erreur écrite dans var/log/syslog est la suivante:
ubuntu CRON[11912]: (CRON) error (grandchild #11914 failed with exit status 126)

j'ai essayé de redemarrer cron comme ceci:
etc/init.d/sudo cron restart
ce qui produit l'erreur suivante:
ubuntu cron[11953]: (CRON) DEATH (can't lock /var/run/crond.pid, otherpid may be 993: Resource temporarily unavailable)

j'ai édité la crontab avec la commande crontab -e puis ensuite j'ai essayé avec sudo crontab -e

Le script en lui meme semble bon puisqu'il fonctionne sans souscis depuis la console.

Merci de votre aide.

9 réponses

  1. Bonjour,

    etc/init.d/sudo cron restart 


    j'aurais tapé plutôt :

    sudo /etc/init.d/cron restart


    un penguin sur la banquise !
    1. Merci bob031 sudo /etc/init.d/cron restart a bien marché mais les taches ne se lancent toujours pas ... :-/
      1. ça dit quoi :

        crontab -l
        ou
        sudo crontab -l

        (c'est un L minuscule)
        1. ça donne

          25 * * * * monuser /home/monuser/sauvegardesites.sh > /home/monuser/Documents/sauvegardesites.log

          sachant que comme dit précédemment le script fonctionne en le lançant depuis une console.

          j'ai également essayé sans mettre "monuser" avant "/home/..."
          1. Contributeur
            Salut,

            crontab s'exécute sans environnement, il faut tout déclarer (ou sourcer) et/ou donner les chemins absolus de toutes les commandes dans ton script. C'est le cas ?
            1. Extrait de mon script:

              #!/bin/bash
              #repertoire ou se trouve mon script

              cd /home/monuser/Documents

              wget -P /home/monuser/mondossierdesauvegarde/sauvegarde-site'date +%F-%H'/ ftp://mes_parametres_de_connexion
              1. Contributeur
                Re-

                Rajoute les chemins absolu de tous tes exécutables.

                Tu devrais aussi définir une variable "DATE" avant et l'utiliser plutôt que la commande directe :

                #!/bin/bash
                #repertoire ou se trouve mon script
                
                DATE="/bin/date"
                MA_DATE="$(${DATE} +%F-%H)"
                WGET="/usr/bin/wget"
                
                cd /home/monuser/Documents
                
                ${WGET} -P /home/monuser/mondossierdesauvegarde/sauvegarde-site${MA_DATE}/ ftp://mes_parametres_de_connexion
            2. Merci zipe31 pour ta réponse,
              j'ai modifié mon script avec tes indications, ça ne marche toujours pas mais je pense que c'est effectivement la bonne piste...
              car j'ai testé:

              */5 * * * * echo "test ok" > /home/monuser.txt

              et ça marche très bien, c'est donc bien mon script auquel il doit manquer qqchose...
              1. Contributeur
                Il a bien les droits d'exécution positionnés au moins ?
            3. Euuh... comment dire... j'ai un peu honte, je débute, il me manque encore quelques reflexes de base!
              Merci à tous pour votre aide,
              merci zipe31 !!!
              1. Je précise j'ai bien réolu mon problème avec un simple chmod :-/
              2. Contributeur
                Ne te biles pas, on apprend toujours de nos erreurs, tu n'es pas le premier et tu ne seras pas le dernier ;-))