Linux計劃任務cron

一.關於crond

  1. crond的作用
    crond是Linux用來定期執行程序的命令。當安裝完成操作系統之後,默認便會啓動此任務調度命令。crond命令每分鍾會定期檢查是否有要執行的工作,如果有 要執行的工作便會自動執行該工作。而Linux任務調度的工作主要分爲以下兩類:

    • 系統執行的工作:系統週期性所要執行的工作,如備份系統數據、清理緩存

    • 個人執行的工作:某個用戶定期要做的工作,例如每隔10分鐘檢查郵件服務器是 否有新信,這些工作可由每個用戶自行設置

  2. 服務的啓動和停止

cron服務是linux的內置服務,但它不會開機自動啓動。可以用以下命令啓動和停止服務:

命令 描述
/sbin/service crond start 啓動
/sbin/service crond stop 停止
/sbin/service crond restart 重啓服務
/sbin/service crond reload 重新加載配置

要把cron設爲在開機的時候自動啓動,在 /etc/rc.d/rc.local 腳本中加入 /sbin/service crond start 即可。

二.關於crontab

crontab是一個很方便的在unix/linux系統上定時(循環)執行某個任務的程序使用cron服務,用 service crond status 查看 cron服務狀態,如果沒有啓動則 service crond start啓動它,cron服務是一個定時執行的服務,可以通過crontab 命令添加或者編輯需要定時執行的任務:

命令 描述
crontab -l 查看當前用戶的cron配置
crontab -e 編輯當前用戶的cron配置
crontab -r 刪除當前用戶的cron配置
crontab -u 設定某個用戶的cron服務,一般root用戶在執行這個命令的時候需要此參數
crontab -u root -l root查看自己的cron設置
crontab -u fred -r root想刪除fred的cron設置
crontab -u root -e 在編輯cron服務時,編輯的內容有一些格式和約定
crontab -l 列出當前的crontab任務
crontab -d 刪除當前的crontab任務
crontab -e (solaris5.8上面是 crontab -r) 編輯一個crontab任務,ctrl_D結束
crontab filename 以filename做爲crontab的任務列表文件並載入
  • 示例
    以下是兩個cron語句的例子(在 /etc/crontab 文件裏)。

    • 12 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1
      //用來晚間備份 /etc 目錄
    • 52 5 * * * root /usr/local/src/analog-5.32-lh/analog >> /dev/null 2>&1
      //運行Analog程序處理服務器的統計信息
  • 以下是cron語句中的字段與字段說明:

字段 1 2 3 4 5 6
說明 分鐘(0-59) 小時(2-24) 日期(1-31) 月份(1-12;或英文縮寫Jan、Feb等) 周幾(0-6,0爲週日;或單詞縮寫Sun、Mon等) 用戶名(執行命令時以此用戶的身份)

第 6 個字段是一個要在適當時間執行的字符串
- 實例:

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND
#每天早上6點10分
10 6 * * * date
#每兩個小時
0 */2 * * * date (solaris 5.8似乎不支持此種寫法)
#晚上11點到早上8點之間每兩個小時,早上8點
0 23-7/28 * * * date
#每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點
0 11 4 * mon-wed date
#1月份日早上4點
0 4 1 jan * date

三.測試代碼

  • 啓動crond
/sbin/service crond start //若提示沒有權限可加上sudo

這裏寫圖片描述

  • 查看當前用戶的cron配置並且編輯當前用戶的cron配置
crontab -l
crontab -e

//然後輸入以下命令
*/1 * * * * ~/run.sh //每隔一分鐘向shell發一封郵件

輸入crontab -l命令,每隔一分鐘輸入一次,則會出現以下現象;


結果圖:
這裏寫圖片描述


刪除當前用戶的cron配置

這裏寫圖片描述

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