文章目錄
- 1 什麼是Cron?
- 2 Crontab如何使用?
- 3 Crontab執行定時任務命令實例
- 3.1 實例1:每1分鐘執行一次myCommand
- 3.2 實例2:每小時的第3和第15分鐘執行
- 3.3 实例3:在上午8点到11点的第3和第15分钟执行
- 3.4 实例4:每隔两天的上午8点到11点的第3和第15分钟执行
- 3.5 实例5:每周一上午8点到11点的第3和第15分钟执行
- 3.6 實例6:每晚的21:30重啟smb
- 3.7 实例7:每月1、10、22日的4 : 45重启smb
- 3.8 實例8:每週六、週日的1 : 10重啟smb
- 3.9 實例9:每天18 : 00至23 : 00之間每隔30分鐘重啟smb
- 3.10 實例10:每星期六的晚上11 : 00 pm重啟smb
- 3.11 實例11:每一小時重啟smb
- 3.12 實例12:晚上11點到早上7點之間,每隔一小時重啟smb
- 4 如何刪除指定的Crontab任務?
Linux的內置cron進程,可以幫助我們達到執行定時任務的需求,通過使用cron和shell腳本,定時執行非常複雜的任務命令,就沒有問題。
什麼是Cron?
我們經常使用的是crontab中命令,它是cron table的縮寫。
它是cron的配置文件,也可以稱為作業列表。
我們可以在以下文件夾中找到相關的配置文件。
- /var/spool/cron/ 目錄下存放的是每個用戶包括root的crontab任務,每個任務以創建者的名字命名
- /etc/crontab 這個文件負責調度各種管理和維護任務。
- /etc/cron.d/ 這個目錄用來存放任何要執行的crontab文件或腳本。
- 我們還可以把腳本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目錄中,讓它每小時/天/星期、月執行一次。
Crontab如何使用?
我們常用的命令如下:
crontab [-u username] //省略用户名表示操作当前用户的crontab -e (编辑工作表) -l (列出工作表里的命令) -r (删除工作表)
我們用crontab -e
進入當前用戶的工作表編輯,是常見的vim界面。每行是一條命令。
編輯工作表▼
crontab -e
列出工作表▼
crontab -l
刪除工作表 ▼
crontab -r
crontab的命令構成為時間+動作,其時間有分、時、日、月、週五種,操作符有
- * 取值範圍內的所有數字
- / 每過多少個數字
- - 從X到Z
- ,散列數字
Crontab執行定時任務命令實例
實例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任務?
SSH輸入以下crontab命令 ▼
crontab -e
- 假設多個任務,在vim中刪除指定的定時任務(光標移到要刪除的配置行,按delete鍵刪除)
按 :wq
保存並退出
查看確認是否刪除了Crontab 任務?
crontab -l
- 發現剛才已刪除的crontab 定時任務不存在,即表示刪除成功。
CWP控制面板如何設置Crontab 定時任務
- 在定時任務中,添加同步命令,以實現自動同步CWP控制面板的備份文件到GDrive。
如果使用CWP控制面板,請登錄CWP控制面板的 Server Setting
→ Crontab for root
▼
在“Add Full Custom Cron Jobs” 中,輸入以下完全自定義的定時命令 ▼
00 7 * * * rclone sync /backup2 gdrive:cwp-backup2 55 7 * * * rclone sync /newbackup gdrive:cwp-newbackup
- (每天早上7點00分自動同步本地目錄
/backup2
到配置名gdrive的網盤裡的backup2
目錄) - (每天早上7點55分自動同步本地目錄
/newbackup
到配置名gdrive的網盤裡的cwp-newbackup
目錄) - 同一步驟WordPress網站文件,建議不要增量備份,因為測試發現若是文件名相同,但文件裡的內容不同,是不會同步的。
由於在定時啟動rclone自動同步完成之後,rclone進程可能仍然會保留在後台運行,這樣會佔用CPU資源高到20%左右,造成服務器資源浪費。
所以,需要再添加完全自定義的定時任務命令,將rclone進程強制關閉▼
00 09 * * * killall rclone
- (每天早上7點00分自動強制關閉rclone進程)
如果CWP控制面板無法編輯Crontab定時任務,可通過FTP軟件打開文件 /var/spool/cron/
直接編輯Crontab定時任務。
VPS如何使用rclone備份?請點擊下方鏈接查看CentOS的使用GDrive自動同步教程▼
希望陳溈亮博客( https://www.chenweiliang.com/ ) 分享的《Linux Crontab定時執行腳本任務命令&設置配置文件用法》,對您有幫助。
歡迎分享本文鏈接:https://www.chenweiliang.com/cwl-1429.html
歡迎加入陳溈亮博客的Telegram 頻道,獲取最新更新!
📚 這份指南蘊含價值巨大,🌟難逢的機遇,切勿錯失良機! ⏰⌛💨
喜歡就分享和按贊!
您的分享和按贊,是我們持續的動力!