兩種計畫任務: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...