Linux任務計畫 週期性任務執行

2021-08-18 03:17:42 字數 3567 閱讀 5824

at命令用於在指定時間執行命令。執行結果會通過郵件傳送給使用者

at允許使用一套相當複雜的指定時間的方法。它能夠接受在當天的hh:mm(小時:分鐘)式的時間指定。假如該時間已過去,那麼就放在第二天執行

語法

at(選項)(引數)

atq: 查詢任務列表

atrm: 刪除指定任務

選項

-f:指定包含具體指令的任務檔案;

-q:指定新任務的佇列名稱;

-l:顯示待執行任務的列表;

-d:刪除指定的待執行任務;

-c:檢視指定作業的具體內容;

-m:任務執行完成後向使用者傳送e-mail。

引數

時間格式

at now+5 minutes    任務在5分鐘後執行

at now+1 hour 任務在1小時候執行

at now+1 days 任務在1天後執行

at now+1 weeks 任務在1週後執行

at midnight 任務在午夜執行

at 23:30 tomorrow 任務在明天晚上23:30分執行

at 10:20pm 任務在晚上10:20分執行

at 23:30 2018-03-31 任務在指定時間執行

at 5pm +3 days 任務在3天下午5點執行

例項

apr 01 20:58:13 localhost.localdomain systemd[1]: started job spooling tools. apr 01 20:58:13 localhost.localdomain systemd[1]: starting job spooling tools...

crontab命令被用來提交和管理使用者的需要週期性執行的任務,crond程序每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。

系統cron任務配置檔案:/etc/crontab

[root@localhost tmp]# cat /etc/crontab

shell=/bin/bash

path=/sbin:/bin:/usr/sbin:/usr/bin

mailto=root

# for details see man 4 crontabs

# example of job definition:

# .---------------- minute (0 - 59)

# | .------------- hour (0 - 23)

# | | .---------- day of month (1 - 31)

# | | | .------- month (1 - 12) or jan,feb,mar,apr ...

# | | | | .---- day of week (0 - 6) (sunday=0 or 7) or sun,mon,tue,wed,thu,fri,sat

# | | | | |

# * * * * * user-name command to be executed

(1) 每一行定義乙個週期性任務,共7個字段;

* * * * * : 定義週期性時間

user-name : 執行任務的使用者身份

command to be executed:任務

(2) 此處的環境變數不同於使用者登入後獲得的環境,因此,建議命令使用絕對路徑,或者自定義path環境變數;

(3) 執行結果郵件傳送給mailto指定的使用者

使用者crond配置檔案:/var/spool/cron/username

shell=/bin/bash

path=/sbin:/bin:/usr/sbin:/usr/bin

mailto=root

# for details see man 4 crontabs

# example of job definition:

# .---------------- minute (0 - 59)

# | .------------- hour (0 - 23)

# | | .---------- day of month (1 - 31)

# | | | .------- month (1 - 12) or jan,feb,mar,apr ...

# | | | | .---- day of week (0 - 6) (sunday=0 or 7) or sun,mon,tue,wed,thu,fri,sat

# | | | | |

# * * * * * command to be executed

(1) 每行定義乙個cron任務,共6個字段;

(2) 此處的環境變數不同於使用者登入後獲得的環境,因此,建議命令使用絕對路徑,或者自定義path環境變數;

(3) 郵件傳送給當前使用者;

語法

crontab(選項)(引數)

選項

-e:編輯該使用者的計時器設定;

-l:列出該使用者的計時器設定;

-r:刪除該使用者的計時器設定;

-u《使用者名稱》:指定要設定計時器的使用者名稱。

引數

crontab檔案:指定包含待執行任務的crontab檔案。

時間表示法

(1) 特定值;給定時間點有效取值範圍內的值;

注意:day of week和day of month一般不同時使用;

(2) *:給定時間點上有效取值範圍內的所有值;表「每..」

(3) 離散取值:在時間點上使用逗號分隔的多個值;

#,#,#

(4) 連續取值:「-」在時間點上使用-連線開頭和結束

#-#(5) 在指定時間點上,定義步長:

/#:#即步長;

注意:(1) 指定的時間點不能被步長整除時,其意義將不復存在;

(2) 最小時間單位為「分鐘」,想完成「秒」級任務,得需要額外借助於其它機制;

定義成每分鐘任務:而在利用指令碼實現在每分鐘之內,迴圈執行多次;

時間示例

(1) 3 * * * *:每小時執行一次;每小時的第3分鐘;

(2) 3 4 * * 5:每週執行一次;每週5的4點3分;

(3) 5 6 7 * *:每月執行一次;每月的7號的6點5分;

(4) 7 8 9 10 *:每年執行一次;每年的10月9號8點7分;

(5) 9 8 * * 3,7:每週三和週日;

(6) 0 8,20 * * 3,7:每週三和每週日的8點和20點

(7) 0 9-18 * * 1-5:每星期一到星期五,9點-18點,每小時執行一次

(8) */5 * * * *:每5分鐘執行一次某任務;

(9) * */12 * * * :每12小時執行一次某任務=

(10)* * * * 2,4,7:每週2、4、7執行某次任務

例項

Linux任務計畫,週期性任務執行

概述 什麼是計畫任務呢?就像我們每個人日常生活中都會使用到的鬧鐘一樣,按時的去提醒該幹什麼事,以免忘記。同樣,我們在工作中也要每天在特定的時間內安排一些事情,這就是計畫任務。未來的某時間點執行以此任務 at,batch 週期性執行某任務 cron at命令 用法 at option time tim...

週期性任務計畫

一次性任務計畫 at,batch 週期性任務計畫 crontab,anacron 一次性任務計畫 at 互動式 讓使用者在 at 提示符輸入多個要執行命令 批處理 讓任務的個命令寫入檔案由 at進行呼叫 at命令 語法 at option time time hh mm yyyy mm dd noo...

Linux任務計畫和週期性任務執行

linux計畫任務有兩類 單一任務at介紹 語法格式 at lfdcq time常用選項 l 檢視作業佇列,相當於atq f 從某個指定檔案檔案中讀取作業任務,不通過互動式輸入。d 刪除指定的作業任務,相當於atrm。c 檢視指定作業具體內容。q queue指明佇列。time時間格式有 hh mm ...