在linux中可以使用crond創(chuàng)建周期任務(wù),使用at創(chuàng)建一次性任務(wù).
單一時刻執(zhí)行任務(wù):at
例如下面的命令,在一分鐘后輸出一個文件在用戶的家目錄下:
at now + 30 minues
echo 'hello world' > ~/1.txt
<EOT>
創(chuàng)建完命令之后,可以通過atq命令來查詢有哪些任務(wù),例如:
10 Mon Jul 29 22:53:00 2019 a root
第一個10代表任務(wù)的id;中間的時間代表什么時候執(zhí)行;a代表隊列名稱,隊列可以通過a-z表示,同時還可以在創(chuàng)建隊列還查詢時,使用-q參數(shù)指定;root代表誰創(chuàng)建的.
還可以使用atrm 任務(wù)編號刪除任務(wù).
如果想禁止某個用戶使用at命令,可以在/etc/at.deny添加該用戶的用戶名.
周期性執(zhí)行任務(wù):crond
在使用之前需要先確認crond服務(wù)是否已經(jīng)啟動.通過service crond status查看服務(wù)是否啟動.然后根據(jù)情況啟動服務(wù).
service crond status 查看服務(wù)狀態(tài)
service crond stop 暫停
service crond start 啟動
service crond restart 重新啟動服務(wù)
service crond reload 重新加載配置
- 編輯任務(wù):
crontab -e.通過該命令,將進入編輯任務(wù).任務(wù)的主要內(nèi)容為* * * * * command.第一個*代表分鐘(1-59),第二個*代表小時(0-23),第三個*代表日(1-31),第四個*代表月(1-12),第五個*代表星期(0-6).command代表要執(zhí)行的任務(wù).
例如下面,每分鐘往1.txt文件追加一句話:
*/1 * * * * echo 'hello world' >> ~/1.txt
查看任務(wù):
crontab -l.刪除所有任務(wù):
crontab -r還可以通過添加
-u操作指定用戶的任務(wù).需要root用戶權(quán)限.
同at一樣,可以通過編輯/etc/cron.deny禁止用戶使用該功能.
還可以通過/etc/condtabs來定義任務(wù).