J'ai un script de sauvegarde que je dois exécuter à une heure précise de la journée. Je l'utilise donc cron
pour cette tâche. À partir de cron, j'essaie également de rediriger la sortie du script de sauvegarde vers un fichier logfile
.
crontab -e
*/1 * * * * /home/ranveer/backup.sh &>> /home/ranveer/backup.log
Dans l'entrée cron ci-dessus, je redirige les deux stderr and stdout
vers un fichier journal.
Le travail cron ci-dessus s'exécute correctement syslog
et exécute la tâche mentionnée dans le backup.sh
fichier, mais n'écrit rien dans le fichier journal.
/var/log/syslog
Oct 19 20:26:01 ranveer CRON[15214]: (ranveer) CMD (/home/ranveer/backup.sh &>> /home/ranveer/backup.log)
Lorsque j'exécute le script à partir de cli, il fonctionne comme prévu et la sortie est écrite dans un fichier journal.
ranveer@ranveer:~$ ./backup.sh &>> backup.log
ranveer@ranveer:~$ cat backup.log
Fri Oct 19 20:28:01 IST 2012
successfully copied testdir
test.txt successfully copied
-------------------------------------------------------------------------------------
ranveer@ranveer:~$
Donc, pourquoi la sortie du fichier n'est pas redirigée vers le fichier depuis cron.