博客 / 詳情

返回

Linux定時任務Crontab

一、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

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.