計畫任務 at和crontab

2021-08-20 11:57:23 字數 2265 閱讀 8064

兩種計畫任務:at和crontab

at:僅僅執行一次 

執行at時,必須有atd這個服務。

啟用atd服務的方法:/etc/init.d/atd restart

設定開機啟動atd服務:chkconfig atd on

可以使用/etc/at.allow與/etc/at.deny這兩個檔案來進行at的使用限制:

先找at.allow這個檔案,寫在這個檔案中的使用者才能使用at,沒有在這個檔案中的使用者不能使用at.

如果沒有at.allow,就找at.deny。寫在at.deny中的使用者不能使用at,沒有寫在這個檔案中的使用者能使用at.

如果兩個檔案都不存在,那麼只有root使用者才能使用at命令。

系統一般假設所有使用者都是可信任的,所以在系統中一般存在乙個空的/etc/at.deny檔案。

atq  或 at -l  //列出目前系統上所有該使用者的at排程

atrm 或 at -d  //取消乙個at排程

at -c 2        //列出工作號為2的at排程的詳細內容

例1:23:50關機

[root@www~]#at 23:50  

at> sync                               //把記憶體中的資源寫到硬碟中

at> /sbin/shutdown -h now

at> //輸入ctrl+d表示結束

例2:再過5分鐘,將/root/.bashrc寄給自己

[root@www~]at now + 5 minutes

at> /bin/mail root -s "aaa"

batch命令:系統有空時才進行後台任務

batch是利用at來進行命令的執行。在cpu工作負載小於0.8的時候,才進行所執行的工作任務。

例1:在2023年7月8日 23:00 關機,但若當時系統負載太高,則暫緩執行

[root@www~]batch 23:00 2014-7-8

at>sync

at>sync

at>shutdown -h now

at>

crontab:週期性執行

讓crontab生效的服務是:crond。

可以使用/etc/cron.allow與/etc/cron.deny這兩個檔案來進行at的使用限制:

同atcron執行的每一項工作都會被記錄到/var/log/cron這個日誌檔案中

方法一:通過命令

crontab -e    //編輯crontab工作內容

crontab -l     //查詢crontab工作內容

例1:以dmtsai的身份每天12:00將/home/dmtsai/.bashrc發信給自己

[dmtsat@www~]crontab -e

* 12 * * * mail dmtsat -s "aaa"

例2:每年5月1日23:59分發情書

59 23 1 5 * mail kiki

例3:每5分鐘執行一次/home/dmtsai/test.sh

*/5 * * * * /home/dmtsai/test.sh

例4:每週五下午4:30告訴朋友約會不要忘記

30 16 * * 5 mail [email protected]

方法二:通過系統配置檔案/etc/crontab

crontab檔案內容:

shell=/bin/bash

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

mailto=root

home=/

#run-parts

01 * * * * root run-parts /etc/cron.hourly   //如果想讓系統每小時執行某個命令,將該命令寫成script,並將該資料夾放在cron.hourly下。

run-parts命令是將後面接的「目錄」內的所有檔案找出來執行。

02 4 * * * root run-parts /etc/cron.daily

22 4 * * 0 root run-parts /etc/cron.weekly

42 4 1 * * root run-parts /etc/cron.monthly 

補充:linux上常見的例行性任務:

日誌檔案的輪替(log roate)

日誌檔案分析logwatch的任務

新建locate的資料庫

whatis資料庫的建立

rpm軟體日誌檔案的新建

刪除臨時檔案

與網路有關的分析行為

crontab計畫任務

背景 公司要求刪除2天之前的備份檔案及所有日誌,免得把硬碟給整爆了,上伺服器看了下,居然都有3個月的備份沒有清理了 su root citics 200 cd du sh cd dbbak du sh cd rman du sh cd data du sh 125執行程式 vim delbkp.sh...

crontab計畫任務

編輯crontab檔案 crontab e 檢視crontab日誌 tail 100f var log cron 基本格式 command 分 時 日 月 周 命令 第1列表示分鐘1 59 每分鐘用 或者 1表示 第2列表示小時1 23 0表示0點 第3列表示日期1 31 第4列表示月份1 12 第...

crontab計畫任務

crontab是linux下定製計畫任務的工具,其使用方便,是居家旅行 定時搞事的必備神器。本篇記錄下crontab使用方法,以及注意坑點。command一般寫計畫任務,都是執行crontab e然後寫入計畫任務,儲存退出即可。sleep 10 每10s執行一次。30 21 usr local et...