Mam skrypt kopii zapasowej, który muszę uruchomić o określonej porze dnia, więc używam cron
do tego zadania i z poziomu crona próbuję również przekierować wyjście skryptu kopii zapasowej do logfile
.
crontab -e
*/1 * * * * /home/ranveer/backup.sh &>> /home/ranveer/backup.log
W powyższym wpisie cron przekierowuję oba stderr and stdout
do pliku dziennika.
Powyższe zadanie cron wykonuje się dobrze syslog
i wykonuje zadanie wymienione w backup.sh
pliku, ale nie zapisuje niczego w pliku dziennika.
/var/log/syslog
Oct 19 20:26:01 ranveer CRON[15214]: (ranveer) CMD (/home/ranveer/backup.sh &>> /home/ranveer/backup.log)
Kiedy uruchamiam skrypt z cli, działa on zgodnie z wymaganiami, a dane wyjściowe są zapisywane w pliku dziennika
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:~$
Dlaczego dane wyjściowe pliku nie są przekierowywane do pliku z poziomu crona.