1、crontab
crontab文件用於在指定日期和時間周期性地執行作業
crontab 作業存放在/var/spool/cron/crontabs/$USER
cron根據crontab文件項運行命令。如果用戶不指定將cron作業的輸出重定向到標准輸出或標准錯誤。
cron將使用電子郵件向用戶報告其輸出或錯誤
要使用cron,用戶必須建立crontab文件
cron進程將crontab文件駐留在內存中,所以用vi直接修改硬盤上的cron文件是沒有效果的
必須使用crontab命令操作,它會告訴cron進程crontab文件已修改
語法:
minute hour day month dayofweek command
分鍾 小時 天數 月數 (0~6,0表示星期日)
示例1:
50 23 * * 6 /home/oracle/rman.sh
表示每月每天的23點50分,只要這一天星期六,就執行腳本
50:表示50分鍾
23:23點
*:表示所有天
*:表示所有月
6:表示星期六
在AIX中,任務計划的使用授權控制在兩個文件中:
/var/adm/cron/cron.deny :定義了不允許使用cron的用戶
/var/adm/cron/cron.allow :定義了允許使用c'ron的用戶
如果兩個文件都存在,那么只有cron.allow文件有效,如果兩個文件都不存在,那么只有root才可以用cron
示例2:
0 0 * * 1-5 backup –0 –u –f /dev/rmt0
周一至周五的,每天24:00整執行backup –0 –u –f /dev/rmt0命令
示例3:
0,15,30,45 8-17 * * 1-5 /tmp/script1
周一至周五的,每天早上8點至17點,每個15分鍾執行/tmp/script1命令
2、常用指令:
查看當前用戶的定時任務。
#crontab -l
刪除cron表
# crontab –r
編輯cron表
方法一:
# crontab –e
方法二:
# crontab –l>/tmp/crontmp
# vi /tmp/crontmp
# crontab /tmp/crontmp
#crontab -l

3、at定時任務
at命令用於在指定時間執行一次性作業,它從標准輸入讀取要執行的命令
at作業存放在/var/spool/cron/atjobs/$USER中
控制用戶使用crontab的兩個文件:
/var/adm/cron/at.deny 不允許使用at的用戶
/var/adm/cron/at.allow 允許使用at的用戶
如果兩個文件都存在,那么只有at.allow文件有效,如果兩個文件都不存在,那么只有root才可以用at
示例:
2分鍾后發個大字體的hello的字符給/dev/tty3終端:
# at now +2 mins
banner hello > /dev/tty3
< ctrl + d >
job user.time.a will be run at date
列出at作業清單
# at –l [user]
# atq [user]
取消at作業
# at -r job
# atrm {job | user}
只有 root才可以列出和取消所有的作業,包括其他人的作業;其他人只能取消他本人的作業
4、batch作業管理
示例:
CPU空閑時發個hello的banner信號給/dev/tty3終端:
# batch
banner hello > /dev/tty3
< ctrl + d >
batch命令用於在CPU空閑時執行一次性作業,即在處理負載足夠低時提交作業
5、 skulker 命令
skulker 用來刪除過時的文件,清理文件系統;通過修改skulker腳本調整要清除舊文件
比如刪除以下文件:
舊的qdir 文件
/var/tmp中的文件
一天以前的*.bak、a.out、core等文件
skulker通常寫入root的crontab文件中,由cron 守候進程每日執行一次;新安裝好一個系統后,想要啟動skulker,只好修改root的crontab文件
skulker是個腳本,不是一個服務,可以直接執行skulker命令,但不能用startsrc –s skulker啟動
、skulker 命令skulker 命令 skulk