Archive for 九月 2013

【Ubuntu 13.04】使用 cron 進行批次作業

許多人在使用電腦的時候都會有這樣的想法:這台我花了這麼多錢買來的電腦,能不能讓它在一天 24 小時都全力的工作,將 資源的利用度提高到最高 ,這樣花的錢才值得。所以很多人開始觀察使用者如何使用電腦,嘗試著去從使用者的角度來改善資源利用率, 喔,我們發現,在白天上班時間,電腦會被大多數人所使用,資源的利用度很不錯,電腦很繁忙,但是當下班以後,因為公司的人都回家了, 雖然電腦還是持續在運作,但是實際上他並沒有進行產出,若是我們能讓他做些什麼東西,就可以改善、提高資源的利用度,增加產出, 在以前使用 windows 平台的經驗,許多人可能會使用 bat 批次檔來進行處理,然後寫個小程式讓這個批次檔能在準確的時間運作,而在轉到 Linux 平台以後,有些人也會惜慣性的使用類似的方法使用 shell script 加上一個定時執行的小程式來進行批次作業的處理。 事實上,Unix-like 平台提供了一個更方便的方法,讓我們來管理批次作業,那就是cron

因為小弟我是使用 Ubuntu 作為常用的系統,本篇會以 Ubuntu 的角度來討論如何使用 cron 這個服務。 cron 的使用其實很簡單,只要遵守以下的規則,就能將自己的程式批次處理了。 cron 的設定檔一般放在/etc 資料夾下,檔名為 crontab,因為是系統相關設定,所以我們需要使用系統管理員身份執行。
相關格式:

        
# ——分鍾 (0 - 59)
# | ——小時 (0 - 23)
# | | ——日 (1 - 31)
# | | | ——月 (1 - 12)
# | | | | ——星期 (0 - 7)(星期日=0或7)
# | | | | |
# * * * * * 被執行的命令
上面是在 crontab 裏面所使用到的時間格式,需要注意的是,使用*表示任何可能的值,如果在小時的區域裡填入,則代表每個小時執行一次。
特別小心:時間間格需要比程式執行的時間還要長,以免發生資料衝突的問題。

以下為 Ubuntu 預設的 crontab 設定,會進行一些更新方面的確認,以及系統的問題回報。
你可以自由的加入自己的程式,只要依照格式撰寫,並注意時間的部份,就可以了,最後在編輯好這個檔案以後,請重開 cron 服務。
/etc/init.d 輸入sudo service cron restart 將服務重開,即可更新你剛剛 編輯的 crontab 檔案了。

2013年9月6日 星期五
Posted by Dylandy Chang
Tag : ,
技術提供:Blogger.

- Copyright © 迪蘭帝的聊天室 -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -