Utilisation des variables dans crontab

Résolu
djimy_cartel Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous;

Je suis sous ubuntu 12.04 , actuellement, j'utilise crontab et d'après mes recherches, j'ai trouvé qu'il est possible de faire ce genre de chose dans le fichier crontab comme par exemple:

MYPATH=/root/scripts
MYSCRIPT=mon_script.php

0 1 * * * $MYPATH/$MYSCRIPT



Est-il possible d'ajouter des variables à mon fichier crontab comme ceci?

mm=55
hh=22
jj=30

mm hh jj * * root php /var/www/html/mon_script.php
Merci pour votre aide.

3 réponses

mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
Je ne pense pas car cron s'attend à lire des variables entières dans ces colonnes.
http://unixhelp.ed.ac.uk/CGI/man-cgi?crontab+5

Ceci dit tu peux toujours essayer de mettre $mm $hh $jj dans les colonnes vu que le fichier semble suivre une syntaxe shell. Mais à mon avis ça ne marchera pas car les déclarations de tes variables n'auront pas un format de ligne crontab.

À quelles fins as-tu besoin de faire ça ? Il y a sans doute moyen d'aborder le problème autrement ?

Bonne chance
0
djimy_cartel Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup mamiemando.
C'est vrai , ça ne marche pas même en mettant $mm $hh $jj.
L'intérêt de faire ça à mon avis est de fixer le moment d'exécution de plusieurs scripts dans un fichier crontab au lieu de le réécrire à chaque fois.
0
CptRomaiin Messages postés 315 Date d'inscription   Statut Membre Dernière intervention   58
 
Salut,

Dans ce cas pourquoi tu ne lances pas un seul script dans le crontab qui lui même lancera tout tes scripts en même temps ? Comme ça tu ne modifies qu'une ligne si tu veux changer la date et l'heure d'exécution.
0
djimy_cartel Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Bonne idée CptRomaiin! , je te remercie.
0
mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
Je valide l'approche de CptRomain :
https://forums.commentcamarche.net/forum/affich-30905970-utilisation-des-variables-dans-crontab#3

De plus cela n'a pas d'impact sur l'organisation de tes scripts. Mettons que tu veuilles lancer les scripts S1, S2, S3 aux mêmes instants, il suffit de créer un script S qui sera invoqué par crontab et qui invoquera en cascade S1, S2 et S3.

Note que tu peux regarder aussi anacron pour compléter ta solution (ou fcron) :
http://doc.ubuntu-fr.org/anacron
http://doc.ubuntu-fr.org/fcron

Bonne chance
0