歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> 在sco 5.0.5中定時運行程序

在sco 5.0.5中定時運行程序

日期:2017/2/28 11:27:43   编辑:關於Unix


在UNIX中也有計劃任務,下面是詳細介紹:
cron 系統調度進程。可以使用它在每天的非高峰負荷時間段運行作業,或在一周或一月中的不同時段運行。(相當有用的一個命令,功能最強大。)
At at命令。使用它在一個特定的時間運行一些特殊的作業,或在晚一些的非負荷高峰時間段或高峰負荷時間段運行。
& 使用它在後台運行一個占用時間不長的進程。(大家應該經常用吧。)
Nohup 使用它在後台運行一個命令,即使在用戶退出(注意這點)時也不受影響。
一.crontab命令
crontab命令的一般形式為:
crontab [-u user] -e -l -r
其中:
-u 用戶名。如果使用自己的名字登錄,就不用使用-u選項。
-e 編輯crontab文件。不帶-u選項可以編輯自己的crontab文件。
-l 列出crontab文件中的內容。不帶-u選項可以列出自己的crontab文件的內容。
-r 刪除crontab文件。小心使用哦。
crontab文件(各個用戶的這個文件放在/var/spool/cron/crontab/目錄中,以用戶名來區別。)
每個條目中各個域的意義和格式如下。
下面就是這些域:
第1列分鐘1~59
第2列小時1~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~6(0表示星期天)
第6列要運行的命令
例子(注意:提交此命令會覆蓋原來的文件,使用之前請做好備份。):
30 21* * * /apps/bin/cleanup.sh
上面的例子表示每晚的21:30運行/apps/bin目錄下的cleanup.sh。
45 4 1,10,22 * * /apps/bin/backup.sh
上面的例子表示每月1、10、22日的4:45運行/apps/bin目錄下的backup.sh。
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分鐘運行/apps/bin目錄下的dbcheck .sh。
0 23 * * 6 /apps/bin/qtrend.sh
上面的例子表示每星期六的11:00pm運行/apps/bin目錄下的qtrend.sh。
既然是用戶向cron提交了這些作業,就要向cron提供所需的全部環境。要保證在shell腳本中提供所有必要的路徑和環境變量,除了一些自動設置的全局變量。
二.at命令
at命令允許用戶向cron守護進程提交作業,使其在稍後的時間運行。如果你希望在一個月或更長的時間以後運行,最好還是使用crontab文件。
at命令的基本形式為:
at [-f script] [-m -l -r] [time] [date]
其中,
-f script 是所要提交的腳本或命令。
-l 列出當前所有等待運行的作業。atq命令具有相同的作用。
-r 清除作業。為了清除某個作業,還要提供相應的作業標識(ID);有些UNIX變體只接受atrm作為清除命令。
-m 作業完成後給用戶發郵件。
time at命令的時間格式非常靈活;可以是H、HH.HHMM、HH:MM或H:M,其中H和M分別是小時和分鐘。還可以使用a.m.或p.m.。
date 日期格式可以是月份數或日期數,而且at命令還能夠識別諸如today、tomorrow這樣
的詞。
使用at命令提交作業有幾種不同的形式,可以通過命令行方式,也可以使用at命令提示符。
三.&命令
該命令的一般形式為:
命令 &
注意:需要用戶交互的命令不要放在後台執行,因為這樣你的機器就會在那裡傻等。
四.nohup命令
如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那麼可以使用
nohup命令。該命令可以在你退出帳戶之後繼續運行相應的進程。
該命令的一般形式為:
nohup command &
後台運行命令對於每天都運行的機器很有用,特別是對於我們這些懶的系統維護人員,可以減少我們的工作量,也可以避免某天忘記做什麼重要的事情了。
Copyright © Linux教程網 All Rights Reserved