Pages : 1
#1 Le 27/02/2012, à 13:54
- music85
Lancer un script avec Cron
Bonjour,
je suis sous Ubuntu 10.10, et j'ai un petit problème.
Je dois lancer chaque jour à une heure précise (entre 17:00 et 17:05) un script csh dans un terminal.
J'ai essayé d'insérer la commande dans le crontab à l'aide de la documentation, comme ceci :
/home/leo/Bureau/scripts_v/principal.csh
Avec bien sûr la date et l'heure de part et d'autre.
Seulement, à l'heure précisée (17:00), rien ne se passe.
Pouvez-vous me guider pour réussir à programmer la tâche ?
Merci !
Dernière modification par music85 (Le 27/02/2012, à 13:57)
Ubuntu 10.10 - Gnome
Hors ligne
#2 Le 27/02/2012, à 14:10
- sputnick
Re : Lancer un script avec Cron
Salut,
- quel sont les droits sur le fichier ?
- pourquoi utiliser csh au lieu de bash ?
- donne la ligne de crontab complete
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#3 Le 28/02/2012, à 15:17
- Mpok
Re : Lancer un script avec Cron
+1 sputnick.
@music85 : notons d'autre part que ta demande est "en soi" incorrecte. Un script cron ne se lance pas dans un terminal, c'est un processus indépendant.
Hors ligne
#4 Le 03/03/2012, à 16:53
- music85
Re : Lancer un script avec Cron
Salut,
- quel sont les droits sur le fichier ?
- pourquoi utiliser csh au lieu de bash ?
- donne la ligne de crontab complete
+1 sputnick.
@music85 : notons d'autre part que ta demande est "en soi" incorrecte. Un script cron ne se lance pas dans un terminal, c'est un processus indépendant.
Merci à vous deux pour vos réponses !
L'accès est en lecture-écriture, et le fichier peut s'exécuter comme un programme.
J'utilise csh au lieu de bash car le script requiert absolument csh, sinon il ne fonctionne pas.
Voilà la ligne en question :
00 17 * * * /home/leo/Bureau/scripts_v/principal.csh
Merci d'avance pour vos réponses !
Ubuntu 10.10 - Gnome
Hors ligne
#5 Le 03/03/2012, à 17:04
- Brunod
Re : Lancer un script avec Cron
Tu as bien fait un crontab -e pour éditer ?
Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis
Hors ligne
#6 Le 03/03/2012, à 17:09
- music85
Re : Lancer un script avec Cron
Tu as bien fait un crontab -e pour éditer ?
Oui, bien sûr Brunod
Ubuntu 10.10 - Gnome
Hors ligne
#7 Le 03/03/2012, à 19:42
- sputnick
Re : Lancer un script avec Cron
Si tu a un fichier csh avec tes variables genre PATH, tes fonctions, tes réglages de terminal etc... Il faut sourcer ce fichier apres le shebang :
#!/usr/bin/env csh
source ~/.cshrc
Regardes aussi si tu peux lancer le mode debug, genre
#!/usr/bin/env csh -x
et puis il te reste à loguer la sortie dans un fichier. Si ça marche pas, montre nous alors le fichier de log...
Voici la nouvelle crontab pour gerer un log :
00 17 * * * /home/leo/Bureau/scripts_v/principal.csh > /home/leo/Bureau/scripts_v/principal.log 2>&1
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#8 Le 04/03/2012, à 14:04
- music85
Re : Lancer un script avec Cron
Voilà ce que me donne le log :
Use of uninitialized value $ENV{"EMS"} in concatenation (.) or string at ems_autorun line 30.
Use of uninitialized value $ENV{"EMS"} in concatenation (.) or string at ems_autorun line 30.
Use of uninitialized value $ENV{"EMS"} in concatenation (.) or string at ems_autorun line 30.
Use of uninitialized value $ENV{"EMS"} in concatenation (.) or string at ems_autorun line 30.
Use of uninitialized value $ENV{"EMS"} in concatenation (.) or string at ems_autorun line 30.
Can't locate EMS_info.pm in @INC (@INC contains: /strc/ems_util /strc/ems_auto /strc/ems_autorun /strc/ems_run /strc/ems_post /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ems_autorun line 33.
BEGIN failed--compilation aborted at ems_autorun line 33.
mv: `grads.ctl' and `grads.ctl' are the same file
/home/leo/Bureau/scripts_v/principal.csh: line 5: grads: command not found
/home/leo/Bureau/scripts_v/principal.csh: line 6: grads: command not found
Pourtant, lancé manuellement dans un terminal, cela fonctionne parfaitement.
ÉDIT : je vous donne le script, pour vous aider à comprendre.
cd /home/leo/wrfems/runs/b/
perl ems_autorun
cd /home/leo/wrfems/runs/b/emsprd/grads/
mv *.ctl grads.ctl
grads -blc /home/leo/Bureau/scripts_v/cartes_vendee.gs
/home/leo/Bureau/scripts_v/ftp.csh
Dernière modification par music85 (Le 04/03/2012, à 16:26)
Ubuntu 10.10 - Gnome
Hors ligne
#9 Le 04/03/2012, à 18:17
- music85
Re : Lancer un script avec Cron
Bon, j'ai un peu tout essayé, et finalement j'ai trouvé.
Il m'a suffit de rajouter cette ligne au début de mon script csh :
#!/bin/tcsh/
Merci à tous ceux qui ont pris du temps pour m'aider
Ubuntu 10.10 - Gnome
Hors ligne
#10 Le 04/03/2012, à 19:29
- sputnick
Re : Lancer un script avec Cron
Heu, oui, c'est la base de base le shebang, je t'en ai parllé plus haut. Le / à la fin de ton shebang est suspect.
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne