【分享教學】重覆定時執行程式cron

在工作排程中at 與 cron式不可分的,通常也會放在一起來做說明,
at 服務只能用來指定只會執行依次的工作,(參考我的定時執行排程at指令)
如果您希望每隔一段週期就會執行每項工作,哪麼就得改用cron服務。
在UNIX or Linux 系統常常會定時執行一行工作,MacOSX 是FreeBSD的架構當然也不例外
例如:每天的資訊統計、系統安全檢查等。

舉個例子來說:
在MacOSX有一個程式叫periodic ,在/user/sbin目錄下,這個程式主要的功能在清理一些
log,清除超過21天的message...等等
(可以看/etc/daily , /etc/weekly , /etc/mothly 這個3個script檔案的內容)
我們利用cron週期性的特性,來清理這些檔案,讓你的電腦保持"清潔"
【分享教學】重覆定時執行程式cron

我們將這3行加入/etc/crontab中,
意思是:
在每天的3:15 執行daily的script
在每個星期六4:30 執行weekly的script
在每個月1日5:30執行monthly的sccript

執行的結果將會放在:
/var/log/daily.out
/var/log/monthly.out
/var/log/weekly.out
【分享教學】重覆定時執行程式cron

在crontab有7個欄位分別是:
minute:代表一小時內的第幾分,範圍 0-59。
hour:代表一天中的第幾小時,範圍 0-23。
mday:代表一個月中的第幾天,範圍 1-31。
month:代表一年中第幾個月,範圍 1-12。
wday:代表星期幾,範圍 0-7 (0及7都是星期天)。
who:要使用什麼身份執行該指令,當您使用 crontab -e 時,不必加此欄位。
command:所要執行的指令。

再舉個例子(1):
在每天20:09執行iTunes,或是其他應用程式:
09 20 * * * jkchang open /Applications/iTunes.app

(2)在21:01執行驗證磁碟權限(Permissions),並將結果放在頂層目錄的 ver.out檔案
01 21 * * * root /usr/sbin/diskutil verifyPermissions /dev/disk0s3 > /ver.out
或是每月1日執行驗證磁碟權限:
* * 1 * * root /usr/sbin/diskutil verifyPermissions /dev/disk0s3 > /ver.out

輸出結果:
【分享教學】重覆定時執行程式cron

希望能簡化大家在系統維護上的工作!
2006-06-09 21:14 發佈
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?