linux自動化作業安排工具cron anacron at batch (2)

二、 anacron

anacron 是和 cron 相似的任務調度器,只不過它並不要求系統持續運行,它可以用來運行通常由 cron 運行的每日、每週、和每月的作業;

要使用 anacron 服務,你必須安裝了 anacron RPM 軟件包, anacron 服務必須在運行;

要判定該軟件包是否被安裝,使用 rpm -q anacron 命令

要判定該服務是否在運行,使用 /sbin/service anacron status 命令

1、配置 anacron

Anacroncron一樣用來調度重複的任務,週期性安排作業;

任務被列在配置文件 /etc/anacrontab 中。文件中的每一行都代表一項任務,格式是:

# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

1       65      cron.daily              run-parts /etc/cron.daily

7       70      cron.weekly             run-parts /etc/cron.weekly

30      75      cron.monthly            run-parts /etc/cron.monthly

格式:period   delay   job-identifier  command

Ø         period命令執行的頻率(天數)

Ø         delay延遲時間(分鐘)

Ø         job-identifier任務的描述,用在 anacron 的消息中,並作爲作業時間戳文件的名稱,只能包括非空白的字符(除斜線外)。

Ø         command要執行的命令

對於每項任務,anacron 先判定該任務是否已在配置文件的 period 字段中指定的期間內被執行了。如果它在給定期間內還沒有被執行,anacron 會等待 delay 字段中指定的分鐘數,然後執行 command 字段中指定的命令;

任務完成後,anacron /var/spool/anacron 目錄內的時間戳文件中記錄日期;

Anacroncron 配置文件相似,SHELL PATH 之類的環境變量可以在 /etc/anacrontab 文件的前部定義;

 

三、at batch 一次性作業任務

at 命令被用來在指定時間內調度一次性的任務;

batch 命令被用來在系統平均載量降到 0.8 以下時執行一次性的任務;

要使用 at batch 命令,你必須安裝了 at RPM 軟件包,並且 atd 服務必須在運行

要判定該軟件包是否被安裝了,使用 rpm -q at 命令

要判定該服務是否在運行,使用 /sbin/service atd status 命令

程序對應的系統守護進程爲:atd

1、配置 at 作業

要在某一指定時間內調度一項一次性作業,鍵入 at time 命令。這裏的 time 是執行命令的時間

time 參數可以是下面格式中任何一種:

·    HH:MM 格式譬如,04:00 代表 4:00AM。如果時間已過,它就會在第二天的這一時間執行

·    midnight — 代表 12:00AM

·    noon — 代表 12:00PM

·    teatime — 代表 4:00PM

·    英文月名 日期 年份 格式譬如,January 15 2002 代表 2002 1 15 日。年份可有可無

·    MMDDYYMM/DD/YY、或 MM.DD.YY 格式譬如,011502 代表 2002 1 15

·    now + 時間時間以 minuteshoursdays、或 weeks 爲單位。譬如,now + 5 days 代表命令應該在 5 天之後的此時此刻執行

時間必須要被先指定,接着是可有可無的日期;

[root@localhost /]# at 17:00

warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh

at>

at> 提示就會出現,鍵入要執行的命令,按 [Enter] 鍵,然後鍵入 Ctrl-D。你可以指定多條命令,或者,你也可以在提示後輸入 shell 腳本,在腳本的每一行後按 [Enter] 鍵,然後在空行處鍵入 Ctrl-D 來退出;

使用命令 atq 來查看等待運行的作業

如果這組命令或腳本試圖在標準輸出中顯示信息,該輸出會用電子郵件方式被郵寄給用戶;

2、配置 batch 作業

要在系統平均負載量降到 0.8 以下時執行某項一次性的任務,使用 batch 命令;

鍵入 batch 命令後,at> 提示就會出現。鍵入要執行的命令,按 [Enter] 鍵,然後鍵入 Ctrl-D;類似於at命令的操作;

系統平均負載量一降到 0.8 以下,這組命令或腳本就會被執行;

如果這組命令或腳本試圖在標準輸出中顯示信息,該輸出會用電子郵件方式被郵寄給用戶;

batch 命令的用法能夠被制約

3at batch命令參數

at batch 的其它命令行選項包括:

選項   描述

-f     從文件中讀取命令或 shell 腳本,而非在提示後指定它們

-m        在作業完成後,給用戶發送電子郵件

-v               顯示作業將被執行的時間

 

4、控制對 at batch 的使用

/etc/at.allow /etc/at.deny 文件可以用來限制對 at batch 命令的使用;

不論使用控制文件如何規定,根用戶都總是可以執行 at batch 命令;

如果 at.allow 文件存在,只有其中列出的用戶才能使用 at batch 命令,at.deny 文件會被忽略;

如果 at.allow 文件不存在,所有在 at.deny 文件中列出的用戶都被禁止使用 at batch 命令;

 

5、一些文檔

   man可以看到;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章