Pour les crontabs utilisateur (y compris root), vous pouvez faire quelque chose comme :
crontab -l -u user | cat - filename | crontab -u user -
où le fichier nommé "filename" contient les éléments à ajouter. Vous pouvez également faire de la manipulation de texte en utilisant sed
ou un autre outil à la place de cat
. Vous devez utiliser le crontab
commande au lieu de modifier directement le fichier.
Une opération similaire serait :
{ crontab -l -u user; echo 'crontab spec'; } | crontab -u user -
Si vous modifiez ou créez des crontabs système, ceux-ci peuvent être manipulés comme vous le feriez avec des fichiers texte ordinaires. Ils sont stockés dans le /etc/cron.d
, /etc/cron.hourly
, /etc/cron.daily
, /etc/cron.weekly
, /etc/cron.monthly
répertoires et dans les fichiers /etc/crontab
et /etc/anacrontab
.
Voici un one-liner qui n'utilise pas/n'exige pas que le nouveau travail soit dans un fichier :
(crontab -l 2>/dev/null; echo "*/5 * * * * /path/to/job -with args") | crontab -
Le 2>/dev/null
est important pour que vous n'obteniez pas le no crontab for username
message que certains *nixes produisent s'il n'y a actuellement aucune entrée crontab.