私は一日の特定の時間に実行する必要があるバックアップスクリプトを持っているので、私はcron
このタスクに使用しており、cron内からバックアップスクリプトの出力を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内からファイルにリダイレクトされないのはなぜですか。