【TL】Shell定時工具Crontab的使用

1、指定crontab的默認編輯器

export EDITOR="/usr/bin/vim" ; crontab -e

2、基本使用

  • /var/spool/cron/ 目錄下存放的是每個用戶包括root的crontab任務,每個任務以創建者的名字命名
  • /etc/crontab 這個文件負責調度各種管理和維護任務。
  • /etc/cron.d/ 這個目錄用來存放任何要執行的crontab文件或腳本。
  • 我們還可以把腳本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目錄中,讓它每小時/天/星期、月執行一次。

crontab [-u username] //省略用戶表表示操作當前用戶的crontab
-e (編輯工作表)
-l (列出工作表裏的命令)
-r (刪除工作作)

我們用crontab -e進入當前用戶的工作表編輯,是常見的vim界面。每行是一條命令。

crontab的命令構成爲 時間+動作,其時間有分、時、日、月、周五種,操作符有

  • ***** 取值範圍內的所有數字
  • / 每過多少個數字
  • - 從X到Z
  • **,**散列數字

實例

實例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

相關參考

Linux Crontab 定時任務

crontab修改默認編輯器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章