1. 程式人生 > >cron定時任務介紹

cron定時任務介紹

什麼是cron?

Cron是linux系統中用來定期執行或指定程式任務的一種服務或軟體。與它相關的有兩個工具:crond 和 crontab。crond 就是 cron 在系統內的宿主程式,crontab 是管理 cron 任務的管理工具。一般情況下,我們安裝完centos5/6 linux系作業系統之後,預設便會啟動crond任務排程服務,另外在我們在開機啟動優化的設定中也要保留crond開機自啟動。crond服務會定期(預設每分鐘檢查一次)檢查系統中是否有要執行的任務工作。如果有便會根據其預先設定的定時任務規則自動執行該定時任務,此舉就相當於我們平時使用的鬧鐘一樣。

cron定時任務用途:

1、linux系統自身定期執行的任務工作:系統週期性自行執行的任務工作,如輪詢系統日誌、備份系統資料、清理系統快取等,這些任務無需我們人為干預。

2、使用者執行的任務工作:某個使用者或管理員定期要做的任務工作,例如每隔5分鐘和網際網路上時間伺服器進行時間同步,每晚0點備份網站站點資料及資料庫資料,一般這些工作需要由每隔使用者自行設定才行。

crontab設定命令引數:

crontab -e ==vi /var/spool/cron/root

crontab -l ==cat /var/spool/cron/root

提示:-i,-r引數在工作中很少用,什麼需求需用-e進去編輯即可。

如果需要檢視其它使用者定時任務有哪些可以:

crontab –u 使用者 –l  == cat /var/spool/cron/bqh

 

為什麼其它使用者可以更改定時任務?(setuid特權)

 

定時任務基本格式:

 

提示:

時間記憶口訣:分時日月周

定時任務依賴的服務:crond

要想執行定時任務,必須開啟crond服務。

檢視crond服務狀態:/etc/init.d/crond status

 

定時任務測試:

例如:每隔2個小時將系統檔案/etc/services檔案打包備份到/tmp下(每次備份按時間生產不同的備份包)

1.直接crontab -e 編輯定時任務:

crontab -e

00 */2 * * * cd/etc/ && tar zcf /tmp/service_$(date +\%F-\%H).tar.gz ./services  >/dev/null 2>&1

2.寫指令碼,然後定時呼叫。(強烈建議此方法)

執行指令碼後發現沒問題,後再加入到定時任務裡去呼叫。

crontab -e

00 */2 * * * /bin/sh /server/scripts/date_tar.sh >/dev/null 2>&1

定時任務小結: