У мене є резервний скрипт, який мені потрібно запускати в певний час доби, тому я використовую cron
для цього завдання, і зсередини cron я також намагаюся перенаправити вихід резервного скрипту на a logfile
.
crontab -e
*/1 * * * * /home/ranveer/backup.sh &>> /home/ranveer/backup.log
У вищевказаному записі cron я перенаправляю обидва stderr and stdout
файли журналу.
Вищезазначене завдання cron виконує штраф відповідно до цього, syslog
і воно виконує завдання, зазначене у backup.sh
файлі, але нічого не записує у файл журналу.
/var/log/syslog
Oct 19 20:26:01 ranveer CRON[15214]: (ranveer) CMD (/home/ranveer/backup.sh &>> /home/ranveer/backup.log)
Коли я запускаю скрипт із cli, він працює як потрібно, а вихід записується у файл журналу
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:~$
Отже, чому вихідний файл не перенаправляється на файл зсередини cron.