Linux中的定時任務調度—crontab命令
在linux系統中,有些工作需要周而復始的工作,有些任務需要在某個特定的時間啟動工作,這就可以通過crontab這個命令來進行設置,這個文件在/etc/crontab。具體步驟為:
(1)設置任務
執行命令:crontab –e (或者vi /etc/crontab)
(2)在出現的命令行中編輯
例如設置每每個一段時間去執行 data >> /home/chen/mydata 這個命令
data命令時顯示當前時間,上面則個命令表示將當前時間以追加的方式寫入到文件/home/chen/mydata這個文件中。
在上面的編輯器中輸入:
* * * * * data >>/home/chen/mydata
然後保存退出,系統便會在每分鐘執行一次 data >> /home/chen/mydata 這個命令
www.2cto.com
定時的時間規則是:
時間 含義 范圍
第1個數字:分鐘 每小時中的第幾分鐘執行 0-59
第2個數字:小時 每天的第幾個小時執行 0-23
第3個數字:日期 每月的第幾天執行 0-31
第4個數字:月份 每年的第幾個月執行 0-12
第5個數字:星期 每周的第幾天執行 0-6
其他:要執行的命令
例如,如果想在每天的2點執行上述命令,其格式為:
0 2 * * * data >> /home/chen/mydata
(3)設置調度多個任務
在設置調度多個任務時,不推薦使用上述方法,因為將所有的命令都寫到/etc/crontab中會讓人感覺很混亂,可以通過先將命令寫成一個可執行文件,然後再通過crontab調用這個可執行文件來實現(即shell編程)。
例如在將時間寫入一個文件之後,再將該文件拷貝到其他目錄中
首先在/home/chen目錄下新建一個文件:vi test.sh
然後輸入對應的命令:
data >> /home/chen/mydata
cp /home/chen/mydata /root/
然後再:crontab –e
添加一行代碼:
0 2 * * * /home/chen /test.sh
(4)終止任務調度命令: crontab –r
(5)顯示當前任務調度命令: crontab –l
www.2cto.com
-------------------華麗的分割線--------------------
這裡需要注意的是由於使用vi新建的文件默認情況下並不具備可執行的權限,所以還需要修改一下test.sh文件的權限,執行下面的命令:
chmod 744 test.sh
這樣便為他賦予了可執行的權限
這裡可以通過命令 ls –l 查看文件具有什麼樣的權限:
ls –l
-rw-r—r— (10個字符)
第一個‘-’表示文件類型(-表示普通文件)
後面三個表示文件的所有者對該文件的權限:
r 表示可讀用4表示; w表示可寫 用2表示; x表示可執行 用1表示
7=4+2+1 就表示他擁有所有的權限
再後面三位表示所在組用戶對該文件的權限
最後三位代表其他組的用戶對該文件的權限
作者 陳慶霆