Bonjour,
J'ai besoin depuis un script BASH d'ajouter un le lancement d'une commande depuis CRON. est ce que quelqu'un aurait un astuce?
J'ai fais le test en manuel et je comprends le fonctionnement. Par contre depuis un script je ne voie pas.
Bonjour,
J'ai besoin depuis un script BASH d'ajouter un le lancement d'une commande depuis CRON. est ce que quelqu'un aurait un astuce?
J'ai fais le test en manuel et je comprends le fonctionnement. Par contre depuis un script je ne voie pas.
est ecrit dans le man ....
faut passer par un fichier de surcharge et hop ca merge avec l existant
attention aux droits et a surcharger le cron du bon user
tu appelles ta commande cron depuis ton script.
Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
Mon article sur le P2V, mon article sur le cloud
Consultez nos FAQ : Windows, Linux, Virtualisation
Bah, suffit de simuler l'appui sur le clavier dans un script en input. Par exemple en imaginant que l'éditeur de crontab soit vi, suffit de mettre en input toutes les commandes "vi"...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 crontab -e <<_EOT_ :$ o mn hh jj mm js script :wq! _EOT_
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Code : Sélectionner tout - Visualiser dans une fenêtre à part (crontab -l; echo "59 23 * * * commande arg1 arg2 >/dev/null 2>&1") | crontab -
Bonjour,
@N_BaH: La commande crontab est setuid root, donc il est plus simple de passer par crontab que de créer le fichier dans /var/spool/cron/ sinon, il faudrait être root pour créer le fichier et il faudrait aussi prendre en considération la politique de sécurité de crontab (mask, owner, utilisateur autorisé à utilisé crontab, ...)
Au risque d'écraser les entrées existantes ...
De toute façon, les modifications de la crontab doivent être faites à l'aide de la commande crontab, pas en modifiant directement le fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $ man -s 5 crontab ... Each user can have their own crontab, and though these are files in /var/spool/cron/crontabs, they are not intended to be edited directly. ...
Bah oui, pourquoi être root pour installer un soft qui peut aussi avoir besoin d'une crontab ?
De plus, il y a un check du fichier par crontab lors de la création (cohérence des champs,...)
Ce n'est pas le problème, mais pourquoi pas, s'il s'agit par exemple d'une installation d'un logiciel dans la homedir d'un utilisateur.
1: tu postules que le fichier n'existe pas mais ce n'est pas garanti. Michaelkael1 à écrit "ajouter le lancement d'une commande depuis CRON", ce qui laisse penser que la crontab existe déjà.et je parle bien de créer le fichier, et non d'«ajouter un le lancement d'une commande depuis CRON».![]()
2: un fichier crontab ne doit pas être créé par une script d'installation de logiciel, ce dernier doit passer par la commande crontab. C'est la "best practice", ça évite de perdre les modifications si quelqu'un d'autre est en train de faire la même chose, comme l'a déjà écrit disdorgue, il y a un contrôle de cohérence, un peu comme visudo ou vipw, et aussi c'est portable. Même si elles le font probablement toutes, une implémentation cron n'est pas obligée de stocker ses crontab dans /var/spool/cron/crontabs/<username>.
Ca j'ai bien aimé (récupérer tout le contenu initial pour y rajouter sa propre ligne et renvoyer le tout au crontab pour qu'il l'intègre). Je ne comprends d'ailleurs pas le "-1".
On est malheureusement obligé de passer par crontab car c'est le seul outil qui permette à un "non root" d'écrire où il faut et en plus, en dehors du contrôle multiple auquel je ne crois pas trop (je vois mal un second user écrire dans mon crontab en même temps que moi), ça réarme le daemon crond pour qu'il prenne en compte la modif. Sinon il faut lui envoyer un signal HUP. Bon c'est faisable mais puisque crontab le fait déjà...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Il n'y a pas de "-1", c'est "-l" :
Pas avec les cron usuels, qui vérifient toutes les minutes si le répertoire contenant les fichiers crontab a été modifié et relisent les fichiers mis à jours le cas échéant.ça réarme le daemon crond pour qu'il prenne en compte la modif. Sinon il faut lui envoyer un signal HUP.
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Ah, je n'avais pas vu ce "-1". Il ne vient sûrement pas de moi (j'ai vérifié que je n'avais pas cliqué par erreur). Bon, je met "+1" pour corriger cette injustice ...
Partager