1. 程式人生 > >idealcitier's Daily life

idealcitier's Daily life

每天週期性的操作,如果每天手動的操作將是一個十分繁瑣的事情,使用linux下面的crontab工具可以有效的解決該問題。

使用的環境是ubuntu 16.06LTS

檢查crontab是否安裝:crontab -l 檢視crontab是否在啟動:service cron statue

編輯crontab任務: crontab -e

crontab的配置檔案格式: * * * * * command

第一個* ----> 分鐘0~59 第二個* ----> 小時0~23 第三個* ----> 日期1~31 第四個* ----> 月份1~12 第五個* ----> 星期0~7(0/7都是表示星期日)

e.g

# 每分鐘列印date資訊
*/1 * * * * date >> /home/liguo/date.txt

然後儲存,檢視date.txt檔案,可以看到以及開始執行了,沒有結果等一下.

#每晚的21:30重啟Apache
30 21 * * * service httpd restart
# 每月1,10,22日的4:45重啟Apache
45 4 1,10,22 * * service httpd restart
# 每月1~10日的4點45重啟Apache
45 4 1-10 * * service httpd restart
# 每隔兩分鐘重啟Apache
*/2 * * * * service httpd restart
1-59/2 * * * * service httpd restart
# 晚上11點到早上7點之間,每隔一個小時重啟Apache
0 23-7/1 * * * service httpd restart
# 每天18點到23點之間每隔30分鐘重啟Apache
0,30 18-23 * * * service httpd restart
0-59/30 18-23 * * * service httpd restart

通過上面的例子,進行下面的總結:

  • * 表示任何的時候都可以進行匹配
  • 可以使用A,B,C表示A或B或C時執行命令
  • 可以使用A-B表示A到B時間內執行命令
  • 可以使用*/A表示每A分鐘/小時執行一次該命令