在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 這個命令
定時的時間規則是:
時間 含義 范圍
第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
這裡需要注意的是由於使用vi新建的文件默認情況下並不具備可執行的權限,所以還需要修改一下test.sh文件的權限,執行下面的命令:
chmod 744 test.sh