標籤:
crontab 是linux系統整合的定時任務命令,它對於系統運行(資料的備份,調度系統資源或命令,程式的定時觸發等非常有用)。crontab有些類似於Windows系統的Service的工作排程器。它可以指定某個背景程式的執行的時間或者時間間隔。
大家可以安裝VMware虛機,測試mysql資料的備份,測試webservice服務的定時啟動等等,也許你會用上shell編程;
那下面開始跟大家說說crontab的使用:
[Minute] [Hour] [Month] [Year] [Week] [Command]
這裡介紹兩種方法去執行調度命令:
大家先建立SystemDate檔案,後面才能 >> 或 先在終端輸入 #date > /home/SystemDate
a、輸入 #crontab -e (不推薦)
例如:
* * * * * date >> /home/SystemDate (每分鐘查詢日期,並記錄在SystemDate檔案中)
b、輸入#vim myCron.sh 建立.sh檔案,編輯如下命令,並存檔退出
例如:
date >> /home/SystemDate
補充:
>>的意思是追加(適用情境:把一個檔案的內容複寫到另一個檔案的末尾)
> 的意思是重新導向,就要覆蓋原來檔案的內容
注意:要將myCron.sh 修改成執行檔案
chmod 744 myCron.sh
讓myCron.sh 至少是 -rwxr--r--
1、下面就說,如何添加和編輯 Crontab
#crontab -e
(包括預設編輯器,如果你的linux已經修改了VISUAL環境變數的話,那編輯器就你的算!)
在操作crontab時,是對使用者來說,所以請指定使用者,當然不指定的話,肯定就是預設當前登陸使用者
crontab -u username
2、列出使用者當前的 Crontab
crontab -1
列出其他使用者的Crontab
#crontab -u username -l
3、刪除使用者當前的 Crontab
crontab -u username -r
4、其他動作:
5、從執行個體中說明,也許你會看得很清楚:
5.1 每一天的某個時刻執行(一天執行一次),例如每天淩晨 2:00 執行
0 2 * * * date >> /home/SystemDate
5.2 每一天的兩個時刻執行(一天執行兩次),例如 早上8:00 晚上20:00 都執行
0 8,20 * * * date >> /home/SystemDate
5.3 每一分鐘都執行一次
* * * * * date >> /home/SystemDate
5.4 每個星期的固定的一天中的某個時刻,例如每個星期的星期一上午8:00執行
0 8 * * 1 date >> /home/SystemDate
5.5 每十分鐘執行一次
*/10 * * * * date >> /home/SystemDate
5.6 讓命令只在3月、4月、10執行
* * * 3,4,10 * date >> /home/SystemDate
5.7 每個星期中固定的某兩天的某個固定時刻執行,例如 每個星期的星期一和星期三的上午8:00執行
0 8 * * 1,3 date >> /home/SystemDate
5.8 每四個小時執行一次
0 */4 * * * date >> /home/SystemDate
5.9 每個星期中固定的某兩天的某兩個固定時刻執行,例如 每個星期的星期一和星期三的上午8:00和晚上20:00執行
0 8,20 * * * date >> /home/SystemDate
5.10 每三十秒執行一次
* * * * * date >> /home/SystemDate * * * * * sleep 30
5.11 每年的第一分鐘 @yearly = 0 0 1 1 *
0 0 1 1 * date >> /home/SystemDate
5.12 每個月的第一分鐘 @monthly = 0 0 1 * *
0 0 1 * * date >> /home/SystemDate
5.13 每個星期的第一分鐘@weekly = 0 0 1 * *
0 0 1 * * date >> /home/SystemDate
5.14每天的第一分鐘 @daily =0 0 * * *
0 0 * * * date >> /home/SystemDate
5.15每個小時的第一分鐘 @hourly = 0 * * * *
0 * * * * date >> /home/SystemDate
下面還有很多 Examples ,真的不能一一列了,都已經四點了;(第一次把排版弄這麼好(相對於我來說哈),做好一件事真的不容易);
Crontab 在linux中的非常有用的Schedule Jobs