crontab - Commande programmée ne s'exécute pas

crontab - Commande programmée ne s'exécute pas - Logiciels - Linux et OS Alternatifs

Marsh Posté le 16-11-2004 à 21:24:59    

pourquoi ce fichier ne s'exécute pas avec la crontab ?
 
j'ai ca dans ma crontab de root pour une éxécution du script tous les 1/4 d'heures :
 
0,15,30,45 * * * * /root/send_ftp.sh
 
il est éxécutable...
-rwxr-xr-x  1 root root  422 nov 16 18:57 send_ftp.sh*
 
Il ne se déclenche pas seul alors que si je le lance directement (sh /root/send_ftp.sh) ca marche.


Message édité par Profil supprimé le 16-11-2004 à 23:46:25
Reply

Marsh Posté le 16-11-2004 à 21:24:59   

Reply

Marsh Posté le 16-11-2004 à 23:03:21    

15/45 * * * * root /root/send_ftp.sh


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-11-2004 à 23:05:34    

c'est donc le mot 'root' qu'il manquait ! merci. je vais tester ca :)

Reply

Marsh Posté le 16-11-2004 à 23:07:10    

jeep05 a écrit :

c'est donc le mot 'root' qu'il manquait ! merci. je vais tester ca :)

oui, mais j'ai deja eu des pb avec des scripts qui n'étaient pas lancés lorsque installés dans la crontab générale
 
j'avais du rajouter un fichier dans /etc/cron.d avec la même ligne sans le "root"


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-11-2004 à 23:22:55    

comment traduire en français le 15/45 ?
plus rapide que 0,15,30,45 c'est sur :D
 
Ca n'a pas l'air de marcher :(
Même en mettant un fichier dans /etc/cron.d

Reply

Marsh Posté le 16-11-2004 à 23:24:45    

jeep05 a écrit :

comment traduire en français le 15/45 ?
plus rapide que 0,15,30,45 c'est sur :D
 
Ca n'a pas l'air de marcher :(
Même en mettant un fichier dans /etc/cron.d

rien dans les logs ?


---------------
:: Light is Right ::
Reply

Marsh Posté le 16-11-2004 à 23:36:10    

j'ai mis toutes les min pour tester, mais le script ne s'execute pas.
j'ai même redémarré crond au cas où mais non.
D'après le journal la commande est lancée... mais ca ne marche pas.
 

Citation :

Nov 16 23:46:15 localhost crond: Arrêt de crond succeeded
Nov 16 23:46:15 localhost crond[8757]: (CRON) STARTUP (fork ok)
Nov 16 23:46:15 localhost crond: Démarrage de crond succeeded
Nov 16 23:47:00 localhost CROND[8770]: (root) CMD (root /root/send_ftp.sh)
Nov 16 23:48:00 localhost CROND[8773]: (root) CMD (root /root/send_ftp.sh)
Nov 16 23:48:00 localhost CROND[8772]: (root) MAIL (mailed 41 bytes of output but got status 0xffffffff )
Nov 16 23:49:00 localhost CROND[8776]: (root) CMD (root /root/send_ftp.sh)


 
 
Dans le script il y a la ligne suivante qui met l'ip dans le fichier ip.
 

Code :
  1. echo "IP le" $(date +%x\ à\ %T) ":" $(/sbin/ifconfig | grep P-t-P | cut -d' ' -f 12 | cut -c5-99) > ip


 
Et je vois que le contenu de ip n'a pas changé depuis que j'ai lancé le script "à la main".


Message édité par Profil supprimé le 16-11-2004 à 23:51:13
Reply

Marsh Posté le 17-11-2004 à 00:42:05    

jeep05 a écrit :

comment traduire en français le 15/45 ?
plus rapide que 0,15,30,45 c'est sur :D
 
Ca n'a pas l'air de marcher :(
Même en mettant un fichier dans /etc/cron.d


 
Toutes les 15min :
 
*/15 * * * *

Reply

Marsh Posté le 17-11-2004 à 10:16:26    

ok merci mais sinon voyez-vous pourquoi la crontab ne me lance pas le script ?

Reply

Marsh Posté le 17-11-2004 à 10:17:15    

donne le script complet stp


---------------
:: Light is Right ::
Reply

Marsh Posté le 17-11-2004 à 10:17:15   

Reply

Marsh Posté le 17-11-2004 à 10:21:05    

tomate a écrit :

donne le script complet stp

ok, mais je tiens à préciser que le script marche si je l'exécute moi-même.
 

Code :
  1. #!/bin/sh
  2. ifconfig ppp0
  3. #si connecté
  4. if [ "$?" = "0" ] ; then {
  5. #met l'ip dans le fichier ip
  6. echo "IP le" $(date +%x\ à\ %T) ":" $(/sbin/ifconfig | grep P-t-P | cut -d' ' -f 12 | cut -c5-99) > ip
  7. ftp -n ftp.**.fr << EOF
  8. user *** ***
  9. put ~/ip ip
  10. bye
  11. EOF
  12. }
  13. else exit 0
  14. fi


si ca merde c'est au niveau du "if" puisque justement ca ne crée pas le fichier 'ip'.


Message édité par Profil supprimé le 17-11-2004 à 10:25:34
Reply

Marsh Posté le 17-11-2004 à 10:25:07    

mets les chemins absolus pour les commandes

Reply

Marsh Posté le 17-11-2004 à 10:27:16    

oue mets les chemins complets des commandes et rajoute un echo "toto" > /ou/tu/veux voire si ça marche


---------------
:: Light is Right ::
Reply

Marsh Posté le 17-11-2004 à 10:51:58    

le echo marche, c'était bien le ifconfig ppp0 qui ne devait pas être exécuté ce qui rendait la condition fausse et donc terminait. J'ai donc mis /sbin/ifconfig ppp0 et ca marche. (et également /usr/bin/ftp)
 
Mais pourquoi ca ne marche pas en crontab alors que ca marche en exécution manuelle ?
 
Merci les gars :)

Reply

Marsh Posté le 17-11-2004 à 10:59:18    

paske la crontab ne charge pas l'environnement de l'utilisateur, et donc pas le PATH...

Reply

Marsh Posté le 17-11-2004 à 11:01:49    

ok :) bon à savoir :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed