AIX命令集錦六(自動執行作業命令)

6.1、控制前後臺作業命令
jobs 表示查看當前被暫停的作業或在後臺運行的作業
fg %1 表示將後臺作業1轉到前臺運行
bg %1 表示讓處於暫停的任務1繼續在後臺運行
當一個進程或作業在前臺運行時,用戶可以使用ctrl+Z來使它暫停
kill %1 表示殺死作業1
nohug command[arg...][&] 表示運行一個不會被掛斷的命令
command [arg...] 表示運行的命令及相關的參數
& 表示在後臺運行
nohug find / -name myprg -print & 表示在後臺執行一個查找作業

6.2、at 命令的使用
at [-c|-k|-s|-q queue][-m][-f file]{-t date|time[day][increament]}
-c 表示用csh來執行作業
-k 表示用ksh來執行作業
-s 表示用bsh(bourne shell)來執行作業
-q queue 表示將作業放在指定的隊列
-m 表示將命令執行成功後的信息以郵件形式發給登陸的用戶
-f file 表示使用文件名爲file的文件代替標準輸入
-t date|time[day][increament] 表示指定作業的運行時間
date 的格式爲:[[CC]YY]MMDDhhmm.[SS] CC表示世紀,YY表示年的後兩個數,MM表示月份,DD表示一個月中的天,即幾號,hh表示幾點,
mm表示多少分鐘,SS表示多少秒
time 的格式爲數字+後綴(可以是am,pm,zulu)/數字,如at 0820 表示8點20分,at 0820 am 表示早上8點20分
day 的格式爲:月份+日數字/一個星期的某一天(星期幾) 如 at 7 pm july 26
increament 格式爲+n units 表示增加多少單位 如 at now +38 days

at time
command1
command2
....
ctrl +d 結束命令輸入
以上表示在某一時間所要執行的命令
也可以用管道的方式
echo command |at time
還可以指定執行文件
at -f file time

顯示和刪除at作業
at -l [-o] [job....|-q queue]
-l 表示顯示已建立的作業
-o 表示按作業時間表的順序顯示已經建立的作業
job 表示作業號
-q queue 表示作業隊列名
at -n [user] 表示顯示隊列中的文件數

at -r [-F] [-i] job....
at -r [-F] [-i] -u user
-r 表示刪除當前系統中已經存在的作業
-F 表示禁止事實刪除校驗
-i 表示採用交互式刪除
job 表示作業號
-u user 表示刪除user用戶的所有作業,只有root用戶具有這個權限,其他用戶只能刪除自己的所有作業
也可以使用atrm命令來刪除指定的作業
atq [-c|-n][user....] 表示顯示當前用戶等待執行的作業隊列
-c 表示按照執行at命令的時間排序作業隊列
-n 表示只顯示隊列中的作業號
user 只顯示user用戶的作業
控制使用at/batch命令的文件爲:/var/adm/cron/at.allow和/var/adm/cron/at.deny
如果at.allow文件存在,則只有該文件裏包含的用戶具有執行at命令的權力
如果at.deny文件存在,則凡是沒有出現在該文件裏的用戶都具有執行at命令的權力
如果at.allow,at.deny文件都不存在時,只有root用戶具有執行at命令的權力

6.3、batch命令
batch命令是調用at -b -m now命令,向系統提交一批作業,系統把提交的作業放在一個隊列中,在檢查系統負載並且在平均負載低於某一個
預先確定值之後開始運行作業
batch command1 command2 ... ctrl+d結束

6.4、crontab提供週期性的自動執行命令
檢查cron進程是否存在
ps -ef |grep cron
cron進程是一個由init進程啓動的後臺進程,如果沒有這個進程,則需要檢查/etc/inittab文件中是否有以下記錄:
cron:23456789:respawn:/usr/sbin/cron
如果沒有,則用mkitab命令或用vi命令添加這條記錄,然後執行telinit -q來啓動cron進程,同時telinit -q也是重起cron進程的命令。
cron進程會去讀cron進程爲每個用戶建立的crontab文件,該文件以用戶名命名,主要存放在/var/spool/cron/crontabs目錄下。
crontab 文件記錄的格式爲:
minute hour day_of_month month weekday command
minute 表示分鐘 ,範圍爲0-59
hour 表示小時,範圍爲0-23
day_of_month 表示一個月的多少號,範圍爲1-31
month 表示月份 ,範圍爲1-12
weekday 表示星期幾,範圍爲0-6 ,0表示星期天
command 表示要執行的命令或shell腳本

添加或修改cron作業
可以用vi命令直接修改/var/spool/cron/crontabs目錄下的文件
crontab [-e|-l|-r|-v|file]
-e 表示編輯當前用戶的crontab文件
-l 表示顯示用戶crontab文件的內容
-r 表示刪除用戶的crontab 文件
-v 表示顯示用戶cron作業提交的時間
file 表示將文件file拷貝到/var/spool/cron/crontabs目錄下,並以當前用戶名命名或覆蓋掉原來存在用戶名文件

/usr/adm/cron目錄下的文件記錄着cron的日誌及使用權力的設置等

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