FreeBSD user cron not working (無法執行)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 編輯排程文件,並加入以下內容
# 內容是每兩兩鐘執行一次
crontab -e

*/2 * * * * echo "Hello test"

# 檢查上面的排程內容是否已經執行
# 如果成功,會看見類似的記錄
cat /var/log/cron

Oct 2 22:55:00 [USER] /usr/sbin/cron[38130]: (root) CMD (/usr/libexec/atrun)
Oct 2 22:56:00 [USER] /usr/sbin/cron[38142]: (root) CMD (echo "Hello test")
Oct 2 22:58:00 [USER] /usr/sbin/cron[38148]: (root) CMD (echo "Hello test")

# 再檢查用戶是否已經版允許執行
cat /var/cron/allow

# 如果沒有此檔案或者沒有你的用者在
# 可自行新增
echo [USER] >> /var/cron/allow

# 再檢查排程可執行的 SHELL
cat /etc/crontab

# 如果不是以下的,修改成這樣,或自己取捨
SHELL=/bin/bash
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin

# 之後再重新執行排程服務
service cron restart

# 查看是否已經在執行
ps -aux | grep cron

# 如果看不見以上的句子
# 可以檢查是排程文件的文件尾是否留有一空白行

Make sure there is an empty line as last line in your crontab file.

參考:
http://www.linuxquestions.org/questions/linux-newbie-8/crontab-not-working-for-non-root-user-782949/