什麼是cron? Cron是linux系統中用來定期執行或指定程式任務的一種服務或軟體。與它相關的有兩個工具:crond 和 crontab。crond 就是 cron 在系統內的宿主程式,crontab 是管理 cron 任務的管理工具。一般情況下,我們安裝完centos5/6 linux系操作系 ...
什麼是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
定時任務小結: