linux命令 定時任務at

2022-07-13 10:30:10 字數 3444 閱讀 5876

本文主要講解一次性計畫任務的命令at的用法!

在指定的時間執行乙個任務,只能執行一次

程序名為atd,首先需要確認該程序是否啟動,並且配置開機自啟動

ps -ef | grep

atd/etc/init.d/atd start

chkconfig atd on

chkconfig --list atd

at [引數] [時間]

2.1.1.命令列直接配置,注意時間格式

進入編輯任務模式,編輯完成ctrl+d儲存退出

at 12:03

2018-05-15

at -t 201805161203

例項1:

[root@zstest1 ~]# at 12:03

2018-05-15

at> echo

"hehe

" >/tmp/20180409

.txt

at> job

1 at 2018-05-15

12:03

例項2:

[root@zstest1 ~]# at -t 201805161203

at> echo

"haha

" >/tmp/20180409-02

.txt

at> job 2 at 2018-05-16

12:03

2.1.2.從指定檔案讀入任務而不是從標準輸入讀入

at -f 《檔案》

例項:

[root@zstest1 ~]# vim at.txt

echo

'haha20180409-03

'>/tmp/20180409-03

.txt

[root@zstest1 ~]# at -f at.txt -t 201805261205

job

4 at 2018-05-26

12:05

注意:建立完的定時任務儲存在/var/spool/at/目錄下,以」a0000***「等命名

[root@zstest1 ~]# ll /var/spool/at/

總用量 20

-rwx------ 1 root root 2718 4月 9 18:08 a0000101838373

-rwx------ 1 root root 2703 4月 9 18:17 a00002018e461c

-rwx------ 1 root root 2704 4月 9 18:17 a00003018431d3

atq

at -l

例項:兩個命令顯示完全相同

[root@zstest1 ~]# atq

12018-05-15

12:03

a root

22018-05-16

12:03

a root

32018-05-26

12:05 a root

atrm   任務編號

at -d 任務編號

at -c   任務編號

例項:

[root@zstest1 ~]# at -c 3

# 檢查任務配置情況

......省略

module=\(\)\ ; export module

cd /root ||

$ << '

marcindelimiter36791344

'echo

'haha20180409-03

'>/tmp/20180409-03

.txt

marcindelimiter36791344

at -v

at -m

1)能夠接受在當天的hh:mm(小時:分鐘)式的時間指定。假如該時間已過去,那麼就放在第二天執行。

2)能夠使用midnight(深夜),noon(中午),teatime(飲茶時間,一般是下午4點)等比較模糊的詞語來指定時間。

3)能夠使用12小時計時制,在時間後面加上am(上午)或pm(下午)來說明是上午還是下午。

4)能夠指定命令執行的具體日期,指定格式為month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年)。指定的日期必須跟在指定時間的後面。

5)直接使用today(今天)、tomorrow(明天)來指定完成命令的時間。

指定格式為:「具體時間 +  數量   時間單位」

具體時間可以是now或者其他指定的時間

時間單位,可以是minutes(分鐘)、hours(小時)、days(天)、weeks(星期)。

1)具體時間執行任務:

at 04:00

# 今天 4點(預設為24小時制)

at 0400

at 17:20 tomorrow

2)具體日期的具體時間hh:mm yyyy-mm-dd,必須先寫時間,後寫日期

at 12:03

2018-05-15

at 04pm june

172018

3)指定在多久以後執行任務:hh:mm[am|pm] + num [minutes|hours|days|weeks]

now + 5

minutes

04pm + 3 days

at定時任務預設只有root使用者可以使用

對於某些特殊需求可以使用 /etc/at.allow 與 /etc/at.deny 這兩個檔案來進行 at 的使用限制:

加上這兩個檔案後, at 的工作情況是這樣的:

1)先找尋 /etc/at.allow 這個檔案,寫在這個檔案中的使用者才能使用 at ,沒有在這個檔案中的使用者則不能使用 at (即使沒有寫在 at.deny 當中);

2)如果 /etc/at.allow 不存在,就尋找 /etc/at.deny 這個檔案,若寫在這個 at.deny 的使用者則不能使用 at ,而沒有在這個 at.deny 檔案中的使用者,就可以使用 at 命令了。

3)如果兩個檔案都不存在,那麼只有 root 可以使用 at 這個命令。

由以內容可知 /etc/at.allow 是管理較為嚴格的方式,而 /etc/at.deny 則較為鬆散 (因為帳號沒有在該檔案中,就能夠執行 at 了)。

在一般的 distributions 當中,由於假設系統上的所有使用者都是可信任的, 因此系統通常會保留乙個空的 /etc/at.deny 檔案,允許所有人使用 at 命令

如果不希望有某些使用者使用 at 的話,將那個使用者的帳號寫入 /etc/at.deny 即可! 乙個帳號寫一行。

完畢,呵呵呵呵

Linux定時任務命令

檢視伺服器是否安裝crontab rpm qa grep crontab 安裝crontab yum y install vixie cron yum y install crontabs 檢視當前使用者下定時任務 crontab l 編輯定時任務 crontab e 當前使用者定時任務目錄 檔名為...

linux定時任務 at定時任務

at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...

linux定時任務命令 crontab

為當前使用者建立cron服務 1.鍵入 crontab e 編輯crontab服務檔案 例如 檔案內容如下 2 bin sh home admin jiaoben buy deletefile.sh 儲存檔案並並退出 2 bin sh home admin jiaoben buy deletefil...