Aller au contenu

Crontab Fonctionne Partiellement


Messages recommandés

Bonsoir à tous,

Je rencontre un problème particulièrement génant. Mon crontab ne fonctionne qu'à moitié.

C'est à dire que certains scripts sont executés, d'autre non. Et ce sur mes deux NAS.

J'ai donc vérifier, les emplcaments, les syntaxes, les droits, etc... mais je ne vois rien d'anormal.

Je peux même executer mes scripts à la main, ça fonctionne, mais pas via crontab.

Voici le fichier :


NAS> cat /etc/crontab

#minute hour    mday    month   wday    who	 command

20	  18	  *	   *	   1,4	 root    /usr/bin/php -n -d safe_mode_exec_dir='' /usr/syno/bin/autoupdate.php

0	   0	   *	   *	   *	   root    /usr/sbin/ntpdate -b pool.ntp.org

55	  21	  *	   *	   2,5	 root    /usr/syno/bin/synopkg chkupgradepk

50	  23	  *	   *	   5	   root    /bin/ash	    /usr/syno/scripts/boot.sh

0	   22	  *	   *	   6	   root    /bin/ash	    /usr/syno/scripts/clean.sh

0	   0	   1	   *	   *	   root    /bin/ash	    /usr/syno/scripts/del.sh

0	   0	   *	   *	   *	   root    /bin/ash	    /usr/syno/scripts/dump.sh


Iici, clean, del et dump fonctionne bien mais pas boot.sh.

NAS> ll /usr/syno/scripts/

   6291    4 drwxr-xr-x   24 root	 root		  4096 Apr 15 22:31 ..

  15396    4 -rwxr-xr-x    1 root	 root		   266 Apr 19 20:20 dump.sh

  15410    4 -rwxr-xr-x    1 root	 root		    40 Apr 19 20:20 boot.sh

  15411   24 -rwxr-xr-x    1 root	 root		 24306 Apr 19 20:20 clean.sh

  15412    4 -rwxr-xr-x    1 root	 root		    49 Apr 19 20:20 del.sh

  17172    4 drwxr-xr-x    2 root	 root		  4096 Apr 19 20:20 .



NAS> cat /usr/syno/scripts/boot.sh

#!/bin/ash

wakelan F4:6D:04:9A:BB:5C

Je précise que mon boot.sh fonctionne bien lorsque je le lance à la mano. Et pareil sur mon autre syno, j'ai le même phénomène.

NAS-Backup> cat /etc/crontab

#minute hour    mday    month   wday    who	 command

20	  18	  *	   *	   1,4	 root    /usr/bin/php -n -d safe_mode_exec_dir='' /usr/syno/bin/autoupdate.php

0	   0	   *	   *	   *	   root    /usr/sbin/ntpdate -b pool.ntp.org

55	  21	  *	   *	   2,5	 root    /usr/syno/bin/synopkg chkupgradepkg

0	   1	   *	   *	   *	   root    /bin/ash	    /usr/syno/scripts/restore.sh

0	   0	   *	   *	   7	   root    /bin/ash	    /usr/syno/scripts/backup.sh

restore.sh fonctionne très bien tous les jours, et backup.sh ne se lance jamais, et à la main ça marche impecc....

Merci à celui qui pourra m'aider.

Lien vers le commentaire
Partager sur d’autres sites

Essaie de rajouter "en dur" la définition du PATH ("PATH=...") au début du script "/usr/syno/scripts/boot.sh"

J'en profite pour marteler un de mes mantras : *toujours* positionner le PATH dans les scripts shell.

On n'a par principe aucune garantie de la valeur de ce dernier (héritée de l'environnement du process père) au moment ou le script s'exécute.

Par exemple, dans ton cas ca m'étonnerait que le PATH hérité via crond contienne le répertoire ou est situé ta commande "wakelan"

Lien vers le commentaire
Partager sur d’autres sites

OK, je vais essayer ceci. Donc je rajoute en tout début, juste après #!/bin/ash, la commande path de mon /root/.profile.

C'est ça, et même tu peux te limiter à ne mettre que le PATH minimum nécessaire à l'exécution de ton script, du genre:

PATH=/bin:/usr/bin:<repértoire de la command wakelan>
un fois que cette ligne est dans ton script, si il marche quand lancé "à la main" il marchera lorsque lancé par cron
Il n'existe pas une sorte d'archivage de log qui pourrait tout simplement me dire "wakelan ; command not found" ? Merci
Me semble pas que le cron busybox ait un log par défaut. Mais rien ne t'empéche d'ajouter a la fin de tes entrées crontab un truc du genre: "> /var/log/<nomlog>.log 2>&1" ou bien: ">> /var/log/<nomlog>.log 2>&1" si tu veux éviter d'écraser le log précédent (penser a nettoyer dans ce cas) par exemple:
 /usr/syno/scripts/boot.sh > /var/log/cron-boot.log 2>&1

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.