1.crontab命令
crond 是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務類似,當安裝完成操作系統後,默認會安裝此服務 工具,並且會自動啓動crond進程,crond進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。
1.1 crontab的調度方式
Linux下的任務調度分爲兩類,系統任務調度和用戶任務調度。
系統任務調度:系統週期性所要執行的工作,比如寫緩存數據到硬盤、日誌清理等。在/etc目錄下有一個crontab文件,這個就是系統任務調度的配置文件。/etc/crontab,cron.daily/,cron.hourly/ cron.monthly/。
一般把計劃任務寫在這個文件裏面就可以了。/etc/crontab
如果想一小時執行一次的腳本放在 cron.hourly/ 目錄裏面即可一般會被軟連接到這個目錄下,或者拷貝進來。。
用戶任務調度:用戶定期要執行的工作,比如用戶數據備份、定時郵件提醒等。用戶可以使用 crontab 工具來定製自己的計劃任務。所有用戶定義的crontab 文件都被保存在 /var/spool/cron目錄中。其文件名與用戶名一致。
如果用戶 wang 想創建一個用戶的計劃任務,可以創建一個 wang 的文件,以crontab的格式寫任務計劃。例如:echo '00 00 * * * /bin/sh /usr/local/webserver/nginx/script/cut_nginx_log.sh' >> /var/spool/cron/root
1.2 crontab的文件格式
crontab文件的格式:
minute hour day month weekday username command
詳解:
minute:分,值爲0-59
hour:小時,值爲1-23
day:天,值爲1-31
month:月,值爲1-12
weekday:星期,值爲0-6(0代表星期天,1代表星期一,以此類推)
username:要執行程序的用戶,一般設置爲root
command:要執行的程序路徑(設置爲絕對路徑)
2.crontab命令的使用方法
格式:
crontab [選項]
選項:
e:編輯一個新的計劃任務
l:顯示計劃任務
r:刪除計劃任務
實例:
# crontab -e //創建計劃任務
00 * * * * root /usr/bin/date
# crontab -l //查看計劃任務
00 * * * * root /usr/bin/date
# crontab -r //刪除計劃任務,並查看
# crontab -l
no crontab for root
3.crontab實例
1. 每兩小時執行一次date命令
* */2 * * * root /usr/bin/date
2.週三和週五8點執行date命令
* 8 * * 3,5 root /usr/bin/date
3.6點到9點執行date命令
* 6-9 * * * root /usr/bin/date