at,crontab定時程式

2021-09-20 01:18:49 字數 1896 閱讀 6544

程式設計師對於定時執行任務一定不陌生,很多任務為了減少對使用者的干擾,如系統更新、維護、資料庫結構變更等,通常會選擇在凌晨進行。對於一些簡單的無需人工照看的任務,就可以預先寫好命令,並設定時間自動執行,然後就可以安心睡大覺了。

其他情況還有,可以預計的將來要做的操作,為了防止遺忘,先寫好命令指令碼,然後設定自動執行,就可以把這事從你的日程表裡劃掉啦。

下面進入正題。

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命令 按照預先設定的時間週期 分鐘 小時 ...