Utilisation des variables dans crontab
Résolu
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.
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.
A voir également:
- Utilisation des variables dans crontab
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- La ressource demandée est en cours d'utilisation ✓ - Forum Logiciels
- Il permet l’exécution des logiciels applicatifs et gère l’utilisation des ressources matérielles (mémoire, processeur, périphériques). - Forum Windows 10
- Logiciel en cours d'execution ✓ - Forum Logiciels
3 réponses
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
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
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.
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.
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
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