Linux命令列學習之路(七)——定時執行
對於一些命令我們並不是想讓其馬上執行,而是等待一定時間或者到某個時間再執行,我們需要怎麼做?
at命令:延時執行一個程式(通過:apt-get install at 進行安裝)
命令使用方法:
1、輸入:at 【時間】
這個時間可以是具體的時間,例如:at 15:32 12/1/15 意思是在2015年12月1日15點32分執行。又或者:at now +10 minutes 意思是在10分鐘後執行
2、輸入想要執行的命令,例如:mkdir text 意思是在剛剛輸入的時間,在本目錄下建立一個text目錄
當建立完成後可以通過atq命令進行檢視,還可以用 atrm【任務號】對任務進行刪除
sleep命令
本來在終端輸入:touch a.txt ; rm a.txt 會直接執行建立和刪除
但是如果在中間加入了slee命令,則可以造成不同的效果
例如:touch a.txt ;sleep 10min ; rm a.txt 意思是,建立a.txt檔案,然後15分鐘後刪除
接下來說一下||,&&,:三個邏輯符號
||符號表示:前面的命令執行失敗,則後面的命令得以執行
&&符號表示:前面的命令執行成功,則後面的命令得以執行
:符號表示:無論前面是否執行成功,後面命令都可以執行
剛剛所說的at命令只是在具有延時執行一個命令的能力,下面說的這個命令將會無比強大,可以定時多次執行命令
crontab命令:定時執行程式
系統本身自帶沒有這個命令,需要安裝之後使用
Ubuntu系列的系統輸入:sudo apt-get install cron(安裝) service cron start (啟動)
CentOS系列的系統輸入:sudo yum install vixie-cron crontabs (安裝) service crond start (啟動)
注:這裡如果想用nano編譯器來配置crontab命令的話,就輸入:vim .bachrc 在最後一行輸入 export EDITOR=nano(個人覺得vim就很好,沒必要用nano)
重要引數:
-l:檢視crontab檔案,可以檢視現在寫好的crontab命令
-e:修改crontab檔案,輸入:crontab -e 就可以建立修改crontab檔案
-r:刪除crontab檔案,個人建議不適用
廢話了那麼多,現在終於正式可以編輯crontab命令了,輸入:crontab -e
最上面的第一行為:# m h dom mon dow command (這個是命令格式,那麼我們接下來一一解釋一下)
【分鐘】【小時】【幾號】【幾月】【星期幾】【命令】
0-59 0-23 1-31 1-12 1-7 命令
例如:15 12 * * * ls /home >> file.txt 意思是:每天12點15分列出/home下命令並輸出到file.txt末尾
其中:
如果需要執行的是.sh檔案的話,輸入:sh 【檔名】
希望這部分的總結對各位讀者有一定的幫助,如有不對請指出糾正,謝謝!