Bonjour,
Je souhaites ajouter un cron job par script à un utilisateur qui n'a jamais eu de crontab.
1) Si l'utilisateur n'a jamais eu de crontab, le premier crontab -e demande de choisir un éditeur.
Est-ce que cette demande risque de poser la question lors du déroulement de mon script ? Chose que je ne souhaites pas.
2) Donc je souhaites mettre dans le crontab :
Donc mettre dans mon script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 # REBOOT # &> /dev/null OU >/dev/null 2>&1 permet d'éviter l'envoi automatique d'un mail de fin daction par cron @reboot bash /home/toto/reboot.sh &> /dev/null
3) TESTS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 crontab <(crontab -l ; echo "# REBOOT") crontab <(crontab -l ; echo "# &> /dev/null OU >/dev/null 2>&1 permet d'éviter l'envoi automatique d'un mail de fin daction par cron") crontab <(crontab -l ; echo "@reboot bash /home/toto/reboot.sh &> /dev/null")
Ca, ca ne marche pas :
donne sans rien faire d'autre l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part crontab <(crontab -l ; echo "# REBOOT")
Par contre, ca, ca semble marcher:/dev/fd/63: Not a regular file
Qu'en pensez-vous ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 (crontab -l ; echo "# REBOOT") 2>&1 | grep -v "no crontab" | uniq | crontab - (crontab -l ; echo "# &> /dev/null OU >/dev/null 2>&1 permet d'éviter l'envoi automatique d'un mail de fin daction par cron") 2>&1 | grep -v "no crontab" | uniq | crontab - (crontab -l ; echo "@reboot bash /home/francis/reboot.sh &> /dev/null") 2>&1 | grep -v "no crontab" | uniq | crontab -
Comment traduire en français ce que cela fait ? :
********
Code : Sélectionner tout - Visualiser dans une fenêtre à part (crontab -l ; echo "mon job") 2>&1 | grep -v "no crontab" | uniq | crontab -
2>&1 : ?
-v : "Invert the sense of matching, to select non-matching lines." ???
grep -v "no crontab" : qu'est ce que cela veut dire, pourquoi ca marche avec ca ? je ne comprends pas la logique de cette portion ? Ce grep ne renvoie qu'un vrai ou faux ?
uniq : ?
crontab - ?
********
D'avance merci pour votre aide éventuelle
Partager