Linux定時任務 crontab(-l -e)、at、batch


1、周期性定時任務crontab

cron['krɒn] 一時間單位  table

crontab -e 進入編輯定時任務界面,每一行代表一個定時任務,#開頭的行為注釋行,一行分成6列

分鍾  小時  日期  月份  星期  調度的作業(命令),默認情況下/etc/crontab文件有規則(fedora親測)

前五列允許出現的字符有  數字  -  *  /  ,  星期還可以采用mon、tue、wed、thu、fri、sat、sun,0-7(0和7為周日)  

10 4 * * * /bin/databasebackup.bash        每天4:10分執行
0 4 */2 * * /usr/sbin/slapcat            每隔一天的4點執行
0 22 * 5,8,11 1-5 wall "It's 10pm"         5 8 11月份的工作日的每天22點,向所有的登陸用戶發消息
5 4 * * tue /bin/echo "Sunday"           每個周二的4:5分執行
0 23,1-7/2,8 * * * /usr/sbin/mtpdate        每天23點到到早上7點只見每隔兩個小時以及早上8點執行同步時間
* * * * * sleep 10; /bin/date >>/tmp/date.txt 先執行休息十秒在執行date,其實就是兩條命令,/usr/bin/sleep;
試用for或while的死循環加sleep可以實現每秒執行,再與crontab一起試用,會幾個命令重復死循環,一般不是想要的效果!

  1 * * * * /usr/bin/date >> /home/lixn/time.txt  每天每個小時的1分鍾執行

  */1 * * * * /usr/bin/data >> /tmp/time1.txt    每一分鍾執行一次

(系統級的)做系統級配置我們會直接配置 /etc/crontab

(用戶級的)一般還是建議大家使用 crontab -e ,這樣系統也會幫着檢查我們配置的腳本語法。會被寫到 /var/spool/cron 目錄下,生成一個和用戶名一致的文件,文件內容就是我們編輯的定時腳本。(對的)

電腦關機后,定時任務便不能執行,再次開機又會自動執行 。(親測)

 

crontab -l列出當前用戶的定時任務

 

2、一次性定時任務at、banch

at 是一次性定時任務

banch 是一次性條件任務,即滿足某種條件時(例如平均負荷很低)執行命令

一次性任務中的命令執行完畢(不管成功與否),對應的任務就自動消失。

序號 

定時任務 

說明 
1

 at [ -f file ] time 

在time時執行file文件中的命令,如果沒有指定file文件那么從標准輸入設備讀取命令,出現at>

 at 22:00 <<<"shutdown -h now"

 

 at now+10minutes <<<"wall notice.txt"

 

 at 23:59 12/31/2011

at>cd /tmp

at> mkdir -p a/b/c

at> echo  "all done"

at> <EOT>

在2011年的最后一刻執行命令cd /tmp; mkdir -p a/b/c; echo "all done"。

<EOT>表示同時 按下ctrl+D

 at 5pm + 3 days <<EOF

/usr/sbin/ntpdate ntp.ubuntu.com

EOF

 三天后的下午5點與ntp.ubuntu.com作時鍾同步

 at -f /opt/file.cmd 4am tomorrow

 明天下午4點執行文件/opt/file.cmd中的命令,file.cmd要先建好

 at -l

 列出全部的一次性定時任務。文件在????

 at -r 6

 刪除6號定時任務
 batch <<< "bzip2 -9 bigfile.dat"

 在系統平均負載較低(<1.5)時執行壓縮命令

10 

 batch

at > tar -cjf /tmp/backup.dat /opt/data

at > <EOF>

 在系統平均負載較低時(<1.5)時執行數據打包壓縮備份命令

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

at>  交互時按ctrl+D保存退出   不保存退出按ctrl+c
[lixn@localhost ~]$ atq  查詢,還有at -l 8 Thu Apr 6 15:12:00 2017 a lixn [lixn@localhost ~]$ atrm 8  刪除,還有at -r 8

 

at 和batch需要繼續親測????系統平均負載再去看看??


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM