Linux創建定時任務


在 Windows 環境創建定時任務大家都很清楚、很簡單。接下來來這篇文章就針對 Linux 環境講述創建定時任務。
環境:CentOS 8 、cronie 1.5.2

一、crontab 使用

cron是一個linux下 的定時執行工具,

命令 用途
service crond start 啟動服務
service crond stop 關閉服務
service crond restart 重啟服務
service crond reload 重新載入配置
service crond status 查看服務狀態

參數 說明
-u 定義用戶 - 只有 root 才有權限執行這個任務,也就是幫其他使用者創建/移除 crontab 定時任務
-e 編輯用戶的crontab
-l 列出用戶的crontab
-r 刪除用戶的crontab - 移除所有 crontab 的內容,若僅要移除某一項,請用 -e 編輯
-i 刪除前的-i提示
-n 設置集群主機運行用戶的crontab
-c 讓主機在集群中運行用戶的crontab
-s selinux上下文
-V 打印版本並退出
-x 啟用調試

二、格式

在crontab文件中如何輸入需要執行的命令和時間。該文件中每行都包括六個域,其中前五個域是指定命令被執行的時間,最后一個域是要被執行的命令。
每個域之間使用空格或者制表符分隔。

  分鍾 小時 日期 月份 命令  
范圍 0-59 0-23 1-31 1-12 0-7 echo "hello" >> abc.log  

三、字符含義

符號 說明
* (星號) 代表任何時刻都接受
, (逗號) 代表分隔時段的意思
- (減號) 代表一段時間范圍內
/n (斜線) 那個 n 代表數字,每隔 n 單位間隔

四、創建簡單任務

每分鍾輸出一次當前的時間,輸出到用戶家目錄下的 time.log 文件中。

# crontab -e * * * * * echo `date` >> /home/xxx/time.log 

五、配置系統級別的定時任務

crontab -e 是用來設置用戶級別的定時任務的。

配置系統級別的任務直接使用 root 權限編輯系統級別定時任務的配置文件: /etc/crontab。

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed # m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 

六、實例

實例1:每1分鍾執行一次myCommand

* * * * * myCommand 

實例2:每小時的第3和第15分鍾執行

3,15 * * * * myCommand 

實例3:在上午8點到11點的第3和第15分鍾執行

3,15 8-11 * * * myCommand 

實例4:每隔兩天的上午8點到11點的第3和第15分鍾執行

3,15 8-11 */2 * * myCommand 

實例5:每周一上午8點到11點的第3和第15分鍾執行

3,15 8-11 * * 1 myCommand 

實例6:每晚的21:30重啟smb

30 21 * * * /etc/init.d/smb restart 

實例7:每月1、10、22日的4 : 45重啟smb

45 4 1,10,22 * * /etc/init.d/smb restart 

實例8:每周六、周日的1 : 10重啟smb

10 1 * * 6,0 /etc/init.d/smb restart 

實例9:每天18 : 00至23 : 00之間每隔30分鍾重啟smb

0,30 18-23 * * * /etc/init.d/smb restart 

實例10:每星期六的晚上11 : 00 pm重啟smb

0 23 * * 6 /etc/init.d/smb restart 

實例11:每一小時重啟smb

* */1 * * * /etc/init.d/smb restart 

實例12:晚上11點到早上7點之間,每隔一小時重啟smb

* * 23-7/1 * * * /etc/init.d/smb restart 

刪除定時任務

輸入crontab -e 打開crontab執行命令

之后輸入進行編輯,直接刪除需要刪除的定時任務指令之后完成保存即可。

 

本文為轉載,感謝原作者分享。

原文地址:https://blog.dwtowen.com/archives/202/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM