Linux學習筆記之後台進程(cron和crontab)
. 設定crontab檔案,並用它來提交作業
. 使用at命令來提交作業
. 在後台提交作業
. 使用nohup命令提交作業
cron 系統調度進程,使用它在每天得非高峰負荷時間段運行作業,或者在一周或一月中得不同時段運行
at命令,在特定時間運行一些特殊作業
& 使用它在後台運行一個佔用時間不長得進程
Nohup 使用它在後台運行一個命令,即使在使用者退出時也不受影響。
3.1 cron和crontab
cron 是系統得調度進程,在無需人工幹預得情況下運行作業。
crontab命令允許使用者提交,編輯或者刪除相應得作業。每個使用者都有一個crontab檔案來儲存調度資訊,
3.1.1 crontab的域
第1列 分鐘1~59
第2列 小時1~23
第3列 日1-31
第4列 月1~12
第5列 星期0~6
第6列 要啟動並執行命令
3.1.2 條目舉例
30 21 * * * /apps/bin/clearnup.sh
每晚的21:30運行/apps/bin目錄下的cleanup.sh
45 4 1,10,22 * * /apps/bin/backup.sh
每月的1,20,22號的4:45執行/apps/bin 目錄下的 backup.sh
10 1 * * 6,0 /bin/find -name "core" 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
每周六的23:00執行/apps/bin/qtrend.sh
3.1.3 crontab的命令選項
crontab [-u user] -e -l -r
-u 使用者名稱
-e 編輯crontab檔案
-l 列出crontab檔案的內容
-r 刪除crontab檔案
3.1.4 建立一個crontab檔案
crontab faintbearcron
3.1.5 列出crontab檔案
crontab -l
crontab -l >$HOME/faintbearcron
(備份)
3.1.6 編輯crontab檔案
crontab -e
3.1.7 刪除crontab檔案
crontab -r
3.1.8 恢複丟失的crontab檔案
crontab <filename>
其中<filename>就是你在$HOME目錄中的副本的檔案名稱