[Freebsd] 使用者的定時排程 crontab

URL Link //n.sfs.tw/10593

2017-01-10 23:49:11 By 張○○

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

# 這行是註解,在 crontab 中的註用用 '#' 放在每一行的開頭。
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