cron 系統調度進程,使用它在每天的某時間或一周、一月的不同時間運行
at 使用它在一個特點的時間允許一些特殊的作業
& 使用它在后台允許一個占用時間不長的進程
Nohup 使用它在后台運行一個命令,即使在用戶退出時也不受影響
1,每一個用戶都可以有自己的crontab文件,但是在較大系統中,管理員一般會禁止這些文件,在整個系統中只保留一下這樣的文件,系統管理員通過cron.deny和cron.allow這兩個文件來禁止和運行用戶有自己的crontab文件
2,crontab格式 * * * * * commond
分(1-59) 時(1-23) 日(1-31) 月(1-12) 星期(0-6,0表示周日) command
在這些域中,可以用 - 來表示時間范圍(1-5 周一到周五),使用 , 來表示和(1,4表示周一和周四),使用 * 表示連續的時間,該文件每一個條目必須包含5個時間域,且每個域之間使用空格分隔,所有注釋在行首使用#
30 21 * * * /apps/bin/cleanup.sh 每晚21:30執行指定目錄下文件
45 4 1,10 * * * /apps/bin/cleanup.sh 每月1,10日執行指定目錄下文件
10 1 * * 6,0 /bin/find -name "core" -exec rm {} \; 每周六日1:10運行一個find命令
0,30 18-23 * * * /apps/bin/dbcheck.sh 每天18:00到23:00直接每隔30分鍾運行指定目錄文件
3,crontab命令形式:crontab [-u user] -e -l -r
-u 用戶名,如果使用自己的名字登錄,則不需要使用-u
-e 編輯crontab文件
-l 列出crontab文件中的內容
-r 刪除crontab文件
4,在考慮向cron進程提交一個crontab文件之前,首先要設置環境編輯EDITOR,cron進程根據它來確定使用哪個編輯器來編輯crontab文件,如果使用vi,則編輯$HOME目錄下.profile文件,在其中加入一行
EDITOR=vi;export EDITOR
然后保存退出
crontab -e 編輯
crontab -l 列出crontab文件內容
crontab -r 刪除crontab文件
5,at命令允許用戶向cron守護進程提交作業,使其在稍后的時間運行。管理員可以通過/etc目錄下的at.allow和at.deny來控制哪些用戶可以使用at命令,哪些不可以。
命令形式:at [-f script] [-m -l -r] [time] [date]
-f script 是所以提交的腳本或命令
-l 列出 當前所有等待運行的作業
-r 清除作業
-m 作業完成后給用戶發郵件
time at的命令格式非常靈活,可以是H HH HHMM HH:MM H:M H是小時,M是分鍾,還可以使用a.m p.m
date 日期格式,可以是月份或日期,而且at還識別today,tomorrow等詞
6,at提交若干行命令,在at命令后跟上日期/時間並回車,進入at命令提示符,然后就可以逐條輸入命令,最后按CTRL+D退出
7,清除作業命令:atrm [job no] 或者 at -r [job no]
要清除某個作業,需要先執行at -l 命令,以獲取相應的作業標識,然后對它執行 at -r 命令,清除該作業
8,后台執行命令:&
命令格式:commod &
作業后台運行一樣會將結果輸出到屏幕,所以需要重定向到某個文件 command >out.file 2>&1 &
9,可以使用ps查詢系統的進程,但是不能確定是運行在前台還是后台
ps -ef|grep 28305 或者 ps x|grep 2888 查詢指定進程號的進程
10,使用kill 殺死進程 ,命令格式 kill -signal [process_number]
kill 28305或者kill -9 28305
11,使用nohup命令,使賬戶退出時,進程繼續運行。
命令格式 nohup command &
如果使用了nohup命令提交作業,那么在缺省情況下,該作業的所有輸出都被重定向到了nohup.out文件中,出發另外值得了輸出文件。例如 nohup comman > myout.file 2>&1