J'ai écrit ce script, mais ça ne marche pas:
#! /bin/bash
cront=$(crontab -e)
echo 00 23 * * 5 tar -cpzf /var/backup.tar.gz /home/$USER >> $cront
Comment puis-je ajouter un travail cron à l'aide d'un script?
Cela devrait faire le travail:
crontab -l|sed "\$a0 23 * * 5 tar -cpzf /var/backup.tar.gz /home/$USER"|crontab -
Cette chaîne de commandes ajoute tout ce qui suit \$a
dans l'expression sed
(gras) sous la forme d'une nouvelle ligne dans la crontab de l'utilisateur actuel. crontab -l
imprime la crontab actuelle, sed
ajoute la ligne à la fin et crontab -
prend le stdin du tube et en fait la nouvelle crontab. Notez que cela ne fonctionne que si vous ne vous mêlez pas à différents utilisateurs, si vous envisagez de le faire, lisez d’abord sur l’option -u
dans man crontab
.