給root帳號添加了一條記錄,看 /var/log/cron
是執行了的,但是沒有結果。其它各條記錄都正常。
這條記錄執行一個腳本,這個腳本的Shebang是 #!/bin/env lua
,測試之後的內容並沒有執行,換爲 #!/bin/sh
並 echo $PATH
,只有 /usr/bin:/bin
,搜索一番,並 man crontab
,結果是 PATH
這個變量傳遞的問題。
首先,在 /etc/crontab
裏面修改 PATH
並不會生效。因爲 /etc/crontab
是系統級的,並且和 /var/spool/cron/
裏面各個用戶的配置文件沒有繼承關係。
其次, /etc/cron.d/
裏面也不會生效,這裏的文件是其他程序自定義的。
於是, crontab -e
添加 PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
,問題解決。