Linux 之 crontab 使用

做者:星火燎原智勇html

連接:https://www.cnblogs.com/liang1101/p/7988671.html linux


定時任務nginx


任務調度的crond常駐命令程序員


crond 是linux用來按期執行程序的命令。當安裝完成操做系統以後,默認便會啓動此任務調度命令。crond命令每分鍾會按期檢查是否有要執行的工做,若是有要執行的工做便會自動執行該工做。而linux任務調度的工做主要分爲如下兩類:
緩存


一、系統執行的工做:系統週期性所要執行的工做,如備份系統數據、清理緩存

二、我的執行的工做:某個用戶按期要作的工做,例如每隔10分鐘檢查郵件服務器是否有新信,這些工做可由每一個用戶自行設置。ruby


 分鐘   小時   天數   月數   週數 
 minute   hour   day   month   week 


每一個字段表明的含義以下


Minute          每一個小時的第幾分鐘執行該任務
Hour            天天的第幾個小時執行該任務
Day             每個月的第幾天執行該任務
Month           每一年的第幾個月執行該任務
DayOfWeek       每週的第幾天執行該任務


對於程序員來講最關注的莫過於使用示例,經過示例能夠一目瞭然的掌握如何使用定時任務服務器

注意:在 crontab 命令中只有 「絕對路徑」,不存在相對路徑,故執行任何命令都須要寫絕對路徑markdown


一、每小時的第5分鐘執行 ls 命令


* * * * ls


二、每5分鐘執行 ls 命令


*/5 * * * * ls


三、天天的 4:30 執行 ls 命令


30 4 * * * ls


四、每小時執行 ls 命令


* * * * ls


五、天天執行 ls 命令


0 0 * * * ls


六、每週執行 ls 命令


0 0 * * 0 ls


七、每一年執行 ls 命令


0 0 1 1 * ls


八、每個月 8號 的 7:20 執行 ls 命令


20 7 8 * * ls


九、每一年的 6月28號 5:30 執行 ls 命令


30 5 28 6 * ls


十、每星期日的 6:30 執行 ls 命令


30 6 * * 0 ls


注意:0 表示星期天, 1 表示星期一,以此類推;也能夠用英文來表示,sun 表示星期天,mon 表示星期一等。app


十一、每個月 10號和20號 的 4:30 執行 ls 命令


30 4 10,20 * * ls


注意:" , " 用來鏈接多個不連續的時間學習


十二、天天 8~11點 的第 25 分鐘執行 ls 命令


25 8-11 * * * ls


注意:" - " 用來鏈接連續的時間


1三、每月中每隔 10天 的 5:30 執行 ls 命令


30 5 */10 * * ls


即:每個月的 一、十一、2一、31日 在 5:30 執行一次 ls 命令


1四、天天 4:30 以 root 身份執行 /etc/cron.daily 目錄中的全部可執行文件


30 4 * * * root run-parts /etc/cron.daily


1五、真實使用中,通常都是執行本身的可執行文件


0 * * * * cd /data/sync-data/mdd;/data/GoProjects/bin/go-elastic-index -config=mdd.toml >> mdd.log 2>&1


上面命令譯爲:每小時執行一次,首先經過 cd 命令進入到指定絕對目錄下,以後使用絕對路徑找到可執行文件正常執行便可。對應的 mdd.toml 和 mdd.log 都是在 cd 到的目錄下,此時就不須要所有寫全目錄了,若是不使用 cd 命令,最終的寫法以下:


0 * * * * /data/GoProjects/bin/go-elastic-index -config=/data/sync-data/mdd/mdd.toml >> /data/sync-data/mdd/mdd.log 2>&1


最後命令


crontab -l        查看定時任務
crontab -l -u jp  列出用戶jp的全部調度任務
crontab -e        編輯定時任務
crontab -r        刪除全部的定時任務


本文轉載自【 Linux學習

公衆號內回覆「1」帶你進粉絲羣640?wx_fmt=gif&wx_lazy=1&&&&&&wxfrom=5&