程式設計師對於定時執行任務一定不陌生,很多任務為了減少對使用者的干擾,如系統更新、維護、資料庫結構變更等,通常會選擇在凌晨進行。對於一些簡單的無需人工照看的任務,就可以預先寫好命令,並設定時間自動執行,然後就可以安心睡大覺了。
其他情況還有,可以預計的將來要做的操作,為了防止遺忘,先寫好命令指令碼,然後設定自動執行,就可以把這事從你的日程表裡劃掉啦。
下面進入正題。
1. 常用命令
基本用法:at [引數] [時間]
控制台讀入任務完畢,ctrl+d結束。
引數說明
at -l 或 atq
檢視當前任務
at -d [任務id]或atrm
刪除定時任務
at -c [任務id]
列印任務內容
at -f [檔案]
從指定檔案讀入任務,而不是從控制台
2. 用法
時間的指定非常靈活,下面列舉常用幾種:
at 04:00
at 04pm
at noon
at now + 3min/minutes/hours/days/weeks
at 04pm + 20min
at today/tomorrow
at 7:30pm 2017-09-26
定時任務命令crontab = chronos + table。chronos**於希臘語,原意是時間
1. 常用命令
命令說明
crontab -e
crontab -l
列出當前使用者的定時任務
crontab -r
刪除當前使用者的定時任務
crontab [test.cron]
用test.cron(自己定義)覆蓋定時任務檔案 (不推薦)
2. 配置說明
crontab -e的預設檔案,對配置有了初步的說明,基本夠用。下面通過示例形象說明:
指令功能
*/2 * * * * echo 'holy ****' >> test.txt
每兩分鐘執行一次
20-40/2 * * * * echo 'holy ****' >> test.txt
20到40分鐘,每兩分鐘執行一次
20-40/2, 50 * * * * echo 'holy ****' >> test.txt
20到40分鐘,每兩分鐘執行一次,第50分鐘也執行一次
0 3-5 * * * echo 'holy ****' >> test.txt
每天的3到5小時開始時執行一次
0 3-5 3,5,6 * * echo 'holy ****' >> test.txt
每月3、5、6號的3到5點開始時執行一次
3. 日誌位址
一般情況下,crontab日誌在/var/log/cron.log.
如果沒有,那麼就在/var/log/syslog,可通過下面命令檢視cron日誌:
grep cron /var/log/syslog
修改日誌位置:
sudo vi /etc/rsyslog.d/50-default.conf
#找到下面的line
#cron.* /var/log/cron.log
#去掉注釋
sudo systemctl restart rsyslog
#檢視啟動狀態
sudo systemctl status rsyslog
at crontab 定時任務
一次性計畫任務 at at的守護程序是atd,預設為開機啟動狀態。可以通過命令停止 啟動或者檢視狀態。在at 命令後邊輸入乙個完整日期,然後輸入需要執行的操作可以制定一次性計畫任務。時間格式為 時間 日 月 年 如在2021年的2月1日18點執行列表 etc passwd檔案和重啟系統操作。然後使用...
Linux中的定時任務at crontab
at命令可以用來在某一時段執行一次任務,只會執行一次,不會重複執行。at命令是由atd服務來控制的,使用之前先檢視atd服務是否正常 etc init.d atd status atd is running如果沒有的話就需要安裝 sudo apt get install at etc init.d ...
排程任務(at,crontab)
一 排程啟動 使用at命令,設定一次性計畫任務 使用crontab命令,設定週期性任務 1 at命令 一次性計畫任務 at hh mm yyyy mm dd date 獲取當前時間 atq 檢視當前計畫任務 atrm 2 刪除當前計畫任務 2 crontab命令 按照預先設定的時間週期 分鐘 小時 ...