一、crontab簡介
crontab 是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護進程,與windows下的計劃任務類似,當安裝完成操作系統後,默認會安裝此服務 工具,並且會自動啓動crontab 進程,crontab 進程每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。
Linux下的任務調度分為兩類,系統任務調度和用户任務調度。
(1):系統任務調度:系統週期性所要執行的工作,比如寫緩存數據到硬盤、日誌清理等
(2):用户任務調度:用户定期要執行的工作,比如用户數據備份、定時郵件提醒等。用户可以使用 crontab 工具來定製自己的計劃任務。所有用户定義的crontab 文件都被保存在 /var/spool/cron目錄中。其文件名與用户名一致
二:crontab配置
minute hour day month week command >> log 2>&1
其中:
- minute: 表示分鐘,可以是從0到59之間的任何整數。
- hour:表示小時,可以是從0到23之間的任何整數。
- day:表示日期,可以是從1到31之間的任何整數。
- month:表示月份,可以是從1到12之間的任何整數。
- week:表示星期幾,可以是從0到7之間的任何整數,這裏的0或7代表星期日。
- command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。
- log:定時任務日誌記錄地址
實例:
# 每天1點 30分執行 /root/Scripts/memory_release.sh腳本,並將日誌存儲在/data/logs/memory_release.log
30 1 * * * /root/Scripts/memory_release.sh >> /data/logs/memory_release.log 2>&1
三:crontab命令
crontab -e 進入crontab編輯頁面
crontab -l 顯示當前的crontab 文件、
crontab -r 刪除當前的crontab (謹慎使用此方法,因為將會把所有的計劃任務全部刪除)
service crond start 啓動crontab服務
service crond stop 關閉服務
service crond restart 重啓服務
service crond reload 重新載入配置
service crond status 查看服務狀態
注意:如果提示Redirecting to /bin/systemctl start crond.service,則是因為版本的問題導致,可以使用
/bin/systemctl start/stop/restart/reload/status crond.service
四:crontab定時任務執行情況參考地址
https://tool.lu/crontab/
https://sc.toolnb.com/tools/crontab.html