linux基礎篇讀書筆記2_後臺執行命令

crontab和cron

crontab的域

格式:

minute[1~59] hour[1~24] day[1~31] month[1~12] week[0~6] [command]

說明:

第1列 分鐘1~59
第2列 小時1~23( 0表示子夜)
第3列 日1~31
第4列 月1~12
第5列 星期0~6( 0表示星期天)
第6列 要運行的命令

實例:

30 21* * * /apps/bin/cleanup.sh     //每晚的 2 1 : 3 0運行/ 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目錄下的d dbcheck.sh文件

0 23 * * 6 /apps/bin/qtrend.sh      //表示每星期六的11:00 pm運行/apps/bin目錄下的qtrend.sh

crontab命令

格式:

crontab [-u] -e -l -r

參數說明:

-u 用戶名

-e 編輯crontab文件

-l 列出crontab文件中的內容

-r 刪除crontab文件

如果使用自己的名字登錄,就不用使用 -u 選項,在crontab執行命令時,該命令可以知道當前的用戶。

2.at命令

使用它在一個特定的時間運行一些特殊的作業。

at命令:允許用戶向cron守護進程提交作業,使其在稍後的時間運行。一旦一個作業被提交,at命令會保留所有當前的環境變量,包括路徑,而crontab只提供缺省的環境,一般at的作業輸出會以電子郵件的形式發送給用戶,除非進行重定向,絕大多數情況下是重定向到某個文件中。

at [-f script] [-m -l -r] [time] [date]

參數說明:

-f script 是所要提交的腳本或命令。

-l 列出當前所有等待運行的作業。 atq命令具有相同的作用。

-r 清除作業。爲了清除某個作業,還要提供相應的作業標識(I D);有些Unix變體只接受atrm作爲清除命令。

-m 作業完成後給用戶發郵件。

time at命令的時間格式非常靈活;可以是H、HH.HHMM、HH:MM或H:M,其中H和M分別是小時和分鐘。還可以使用a.m.或p.m.。

date 日期格式可以是月份數或日期數,而且at命令還能夠識別如today、tomorrow這樣的詞。

提交命令:

如果想一次提交多行命令,可以在at後面跟上時間/日期,然後回車進入at多行命令模式,根據提示輸入命令,退出按 Ctrl+D 。

以下日期/時間格式都是at命令可接受的:

at 6.45am may12

at 11.10pm

at now+1hour

at 9am tomorrow

at 15:00 may 24

at now + 10 minutes

實例應用:

at 3.00pm tomorrow -f /apps/bin/db_table.sh     //
一個在/apps/bin目錄下的db_table.sh的命令將在明天下午三點運行


echo find /etc -name "passwd" -print | at now +1 minute     //可以使用echo命令向 at 命令提交命令

at -l       //列出所提交的作業

atrm [job num] 或 at -r [job num]    //清除一個作業,首先需要運行 at -l 查看作業號

3.&

使用它在後臺運行一個命令,即使在用戶退出時也不受影響。
一般格式:

command &

實例:

command >out.file 2>&1 &    //不提示任何信息重定向輸出到 out.file 文件中,後臺執行,成功後顯示進程號

find /etc -name "test.conf" -print >find.out 2>&1 &     //當我們提交成功後,系統給出進程號

nohup命令

如果你正在運行一個進程,而且你覺得在退出帳戶時該進程還不會結束,那麼可以使用 nohup 命令。該命令可以在你退出帳戶之後繼續運行相應的進程。 nohup就是不掛起的意思(no hang up)。

格式:

nohup command &

應用實例:

nohup command >myout.file 2>&1      //輸出被重定向到myout.file文件中

nohup ./test.conf >test.out 2>&1 &      //執行腳本所有輸出重定向到 test.out 文件中
發佈了46 篇原創文章 · 獲贊 48 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章