Linux
rtcwake 未作為根 cron 作業執行
手動啟動的這項
rtcwake
工作可以正常工作:$ sudo rtcwake -m no -u -t $(date +%s -d 'tomorrow 07:30')
但似乎沒有作為
root
cron 作業執行:$ sudo crontab -l 32 7 * * * rtcwake -m no -u -t $(date +%s -d 'tomorrow 07:30')
如果我用
$ sudo crontab -l 32 7 * * * rtcwake -m no -u -t $(date +%s -d 'tomorrow 07:30') &> /home/me/path/to/dir/crond.log
我得到一個空的日誌文件。並且所有者
crond.log
是我,而不是root
。(**編輯1:**情況並非如此,我的幾個測試錯誤)。這裡的問題到底是什麼?
***編輯 2:*感謝@αғsнιη 的回答,正確的 cronjob 如下(使用創建
sudo crontab -e
):$ sudo crontab -l 32 7 * * * /usr/sbin/rtcwake -m no -u -t $(date +\%s -d 'tomorrow 07:30') &> /home/me/path/to/dir/crond.log
關於 cronjob 的兩件事:
%
應該轉義\%
,因為這是 crontab 的特殊字元並且意味著換行符。- 始終使用完整/絕對路徑編寫命令,因為 crontab 不會讀取您的 shell
PATH
變數。