Windows(Win 10)
compmgmt.msc[Win+R] > 任務計划程序 > 任務計划程序庫 > 創建基本任務

Linux(Ubuntu)
定時任務種類
實現linux定時任務主要可以通過cron、anacron、at三種,而使用最多的是cron任務。
CRON定時任務軟件
概念
- [詞義]cron一詞來源於希臘語chronos(χρόνος),原意特指:時間。
- [功能]常見於Unix和類Unix的操作系統之中,通常被內置於操作系統中。用於設置周期性被執行的指令。該命令從標准輸入設備讀取指令,並將其存放於“crontab”文件中,以供之后讀取和執行。通常,crontab儲存的指令被守護進程激活,crond常常在后台運行,每一分鍾檢查是否有預定的作業需要執行。這類作業一般稱為cron jobs。
- [Shell服務]cron服務提供cron、crontab命令(crontab,即 cron table之縮寫)來設定cron服務。
- [推薦:絕對路徑]腳本中推薦使用絕對路徑,無論是shell腳本還是python腳本,里面所有的路徑最好都是絕對路徑!!!形如:echo "hello world" >> /root/jack/cron/sh-log.txt
- [辨析]cron是服務名稱,crond是后台進程,crontab則是定制好的計划任務表
cron安裝與使用
- 安裝與查看
shell> sudo apt-get install cron #安裝,Ubuntu等Linux系統默認會按照cron服務
shell> sudo service cron status # 查看cron狀態
- 創建定時任務
cmd shell> crontab -e
edited file> # minute hour day-of-month month day-of-week commands
edited file> */1 * * * * echo "Have a break now." >> /tmp/test.txt # 每隔1分鍾,執行bash shell命令"echo "Have a break now." >> /tmp/test.txt"
edited file> 3,15 * * * * command # 每小時的第3和第15分鍾執行command
edited file> 3,15 8-11 * * * command # 在每天上午8點到11點的第3和第15分鍾執行command
edited file> 6,10 * 2 * * # 每個月2號,每小時的6分和10分執行一次任務
edited file> */3,*/5 * * * * # 每隔3分鍾或5分鍾執行一次任務,比如10:03,10:05,10:06
- 啟動/重啟
shell> sudo service cron start # 啟動
shell> sudo /etc/init.d/cron start # 啟動
shell> sudo service cron restart # 重啟
shell> sudo /etc/init.d/cron restart # 重啟
- 重新載入配置
shell> sudo service cron reload
- 關閉
shell> sudo service cron stop
- crontab命令
- -u //設定某用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數
- -l //顯示某用戶cron服務的配置信息
- -r //刪除某用戶的cron服務
- -e //編輯某用戶的cron服務的配置信息
- -ir //刪除 crontab 文件前提醒用戶
crontab -u root -l ## 用戶(root)查看自己的cron服務配置信息
crontab任務配置基本格式
crontab中的每一行代表一個定期執行的任務,分為6個部分。前5個部分表示何時執行命令,最后一個部分表示執行的shell命令。
edited file> # minute hour day-of-month month day-of-week commands
edited file> * * * * * command
其各項字段對應的合法值:00-59 00-23 01-31 01-12 0-6 (0 is sunday)

參考文獻
- Cron - WIKI
- linux定時任務cron配置 [備注:cron配置實例比較豐富]