Freebsd 下若要建立使用者的 crontab,採用和 linux 一樣的方法:
$ crontab -e
crontab: no crontab for user1 - using an empty one
crontab: vi: No such file or directory
crontab: "vi" exited with status 1
出現錯誤,這樣到底應該如何設定使用者等級的crontab? 原來我們要自己建立 crontab 檔案,在家目錄自建一個排程檔:
$ touch user1_crontbl
編輯 user1_crontbl 這個檔,以下範例中要每天執行的 shell是 daily.sh,每月執行的是 monthly.sh
$ vi user1_crontbl
1 0 * * * /bin/sh ~/cron/daily.sh
5 0 1 * * /bin/sh ~/cron/monthly.sh
接下來把他放入crontab 中就可以了
$ crontab user1_crontbl
查詢是否載入crontbl
$ crontab -l
.....
補充說明
1. crontab 中的執行程式和檔案路徑都應該使用絕對路徑,上例中我特別用一個 '~' 來表示,因為這是使用者層級的 crontab,所以他代表使用者的家目錄,這個表示法是可行的。 ~/cron/daily.sh = /home/user1/cron/daily.sh
2. 自己要先執行看看自己的 crontab 中的式子是否正確,正確再寫入 crontab。
3. 使用者無法使用 crontab -e 來修改自己的 crontab,那是 root 的特權,而root 可以轉換成任何使用者角色編修,只要用 -u username 即可。
4. crontab 前五個參數是 分 時 日 月 星期
5. 如何移除 crontab?只要下達 crontab -r 再按 y 確定就可以了
原文 2010-03-12 15:38:18