crond :linux下用來周期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務類似,當安裝完成操作系統后,默認會安裝此服務 工具,并且會自動啟動crond進程,crond進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。
crontab:linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是默認啟動的。另 外, 由于使用者自己也可以設置計劃任務,所以, Linux 系統也提供了使用者控制計劃任務的命令 :crontab 命令。
crond的命令:
啟動、關閉、重啟:
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
? /sbin/service crond start //將這個服務在系統啟動的時候自動啟動
1、linux任務調度的工作主要分為以下兩類:
? ?A.系統執行的工作:系統周期性所要執行的工作,如備份系統數據、清理緩存
? ? B.個人執行的工作:某個用戶定期要做的工作,例如每隔10分鐘檢查郵件服務器是否有新信,這些工作可由每個用戶自行設置。
2.crontab命令選項:
? ? -u指定一個用戶,
? ? -l列出某個用戶的任務計劃,
? ? -r刪除某個用戶的任務,
? ? -e編輯某個用戶的任務
3.cron文件語法:
? ? ? ? ? 分 ? ? 小時 ? ?日 ? ? ? 月 ? ? ? 星期 ? ? ?命令
? ? ? ? 0-59 ? 0-23 ? 1-31 ? 1-12 ? ? 0-6 ? ? command ? ? (取值范圍,0表示周日一般一行對應一個任務)
4.記住幾個特殊符號的含義:
? ? ? ? "*"代表取值范圍內的數字,
? ? ? ? "/"代表"每",
? ? ? ? "-"代表從某個數字到某個數字,
? ? ? ? ","分開幾個離散的數字
一、任務調度設置文件的寫法
? ? ? 可用crontab -e命令來編輯,編輯的是/var/spool/cron下對應用戶的cron文件,也可以直接修改/etc/crontab文件
具體格式如下:
? ? ? Minute Hour Day Month Dayofweek ? ?command
? ? ? 分鐘 ? ? 小時 ? 天 ? ? 月 ? ? ? ?天每星期 ? ? ? ?命令
每個字段代表的含義如下:
? ? Minute ? ? ? ? ? ? 每個小時的第幾分鐘執行該任務
? ? ?Hour ? ? ? ? ? ? ? ?每天的第幾個小時執行該任務
? ? ?Day ? ? ? ? ? ? ? ? 每月的第幾天執行該任務
? ? ?Month ? ? ? ? ? ? ?每年的第幾個月執行該任務
? ? ?DayOfWeek ? ? 每周的第幾天執行該任務
? ? ?Command ? ? ? ?指定要執行的程序
? ? 在這些字段里,除了“Command”是每次都必須指定的字段以外,其它字段皆為可選字段,可視需要決定。對于不指定的字段,要用“*”來填補其位置。
舉例如下:
5 ? ? ? * ? ? ? ?* ? ? ? ? ? * ? ? ?* ? ? ls ? ? ? ? ? ? ?指定每小時的第5分鐘執行一次ls命令
30 ? ? 5 ? ? ? * ? ? ? ? ? * ? ? ?* ? ? ls ? ? ? ? ? ? ?指定每天的 5:30 執行ls命令
30 ? ? 7 ? ? ? 8 ? ? ? ? ?* ? ? ?* ? ? ?ls ? ? ? ? ? ? ?指定每月8號的7:30分執行ls命令
30 ? ? 5 ? ? ? 8 ? ? ? ? ?6 ? ? * ? ? ?ls ? ? ? ? ? ? ?指定每年的6月8日5:30執行ls命令
30 ? ? 6 ? ? ? * ? ? ? ? ? * ? ? 0 ? ? ?ls ? ? ? ? ? ? ?指定每星期日的6:30執行ls命令[注:0表示星期天,1表示星期1,以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。]
30 ? ? 3 ? ? ?10,20 ? ? * ? ? * ? ? ?ls ? ? 每月10號及20號的3:30執行ls命令[注:“,”用來連接多個不連續的時段]
25 ? ? 8-11 * ? ? ? ? ? ?* ? ? * ? ? ?ls ? ? ? 每天8-11點的第25分鐘執行ls命令[注:“-”用來連接連續的時段]
*/15 ? * ? ? ? ?* ? ? ? ? ? ?* ? ? * ? ? ?ls ? ? ? ? ?每15分鐘執行一次ls命令 [即每個小時的第0 15 30 45 60分鐘執行ls命令 ]
30 ? ?6 ? ? ?*/10 ? ? ? ? * ? ? ?* ? ? ?ls ? ? ? 每個月中,每隔10天6:30執行一次ls命令[即每月的1、11、21、31日是的6:30執行一次ls命令。 ]
二、新增調度任務
新增調度任務可用兩種方法:
? ? ? ? 1、在命令行輸入: crontab -e 然后添加相應的任務,wq存盤退出。
? ? ? ? 2、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應的任務。
三、查看調度任務
? ? ? ? crontab -l //列出當前的所有調度任務
? ? ? ? crontab -l -u jp ? ?//列出用戶jp的所有調度任務
四、刪除任務調度工作
? ? ? ? crontab -r ? //刪除所有任務調務
總結
以上是生活随笔為你收集整理的crond和crontab的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。