Linux之計劃任務

  • 一次性任務
  • 週期性任務
  • crontab命令
  • 本地郵件服務

  • 一次性任務使用at命令,在將來的某一時刻執行一次任務
    at [options] TIME
    TIME:
    HH:MM [YYYY-mm-dd]
    noon,midnight, teatime
    tomorrow
    now+# # 可接的單位:minutes, hours, days, weeks
    常用選項:
    -l :list 列出作業隊列等同於 atq命令
    -f /path/to/somefile:從指定文件中讀取作業任務,不需要從命令行交互輸入
    -d #:刪除指定的任務,等同於atrm
    -c:查看指定作業的具體內容

  • 週期性任務使用crontab,執行結果通過郵件通知作業的用戶
    由cronie程序提供服務,系統默認安裝;
    與at提交作業方式不同,由專用的配置文件,固定格式,並能夠檢查語法是否正確,使用crontab -e編輯:
    • cron任務分爲兩類:
      系統任務:主要用於實現系統自身維護
      用戶任務:
    • 配置文件格式:
      SHELL=/bin/bash
      PATH=/sbin:/bin:/usr/sbin:/usr/bin
      MAILTO=root
      # For details see man 4 crontabs
      # Example of job definition:
      # .---------------- minute (0 - 59)
      # |  .------------- hour (0 - 23)
      # |  |  .---------- day of month (1 - 31)
      # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
      # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
      # |  |  |  |  |
      # *  *  *  *  * [user-name]  command to be executed

      注:
      1.每行定義一個cron任務,共6-7個字段;
      2.此處的環境變量不同於用戶登錄後獲得的環境,因此,建議命令使用絕對路徑,或者自定義PATH環境變量;
      3.郵件發送給MAILTO用戶;
      4.user-name:可以指定以誰身份運行

    • 時間表示:
1.特定值;給定時間點有效取值範圍內的值;
    注:day of week和day of month一般不同時使用;
2. * :表示給定時間點上有效取值範圍內的所有值;表“每..”
3.離散取值: 在時間點上使用逗號分隔的多個值; 
        #,#,#
4.連續取值:在時間點上使用-連接開頭和結束
     #-#
5.在指定時間點上,定義步長: 
        */10 ****:每十分鐘
  • crontab 命令:
    用法:
    crontab [-u user] [-l | -r | -e] [-i] [-s]
    -e:編輯任務;
    -l:列出所有任務;
    -r:移除所有任務;
    -i:在使用-r選項移除所有任務時提示用戶確認是否刪除操作;
    -u user:root用戶可爲指定用戶管理cron任務;

  • 本地郵件服務
    發送接收郵件命令:mail/mailx
    mial [-s subject] username[@hostname]
    郵件正文的編輯方式:
    1.交互式輸入;. 單獨成行可以表示正文結束;Ctrl+d提交亦可;
    2.通過輸入重定向;
    3. 通過管道;
mail -s "subject"  address< file(郵件正文.txt)
# mail -s "郵件主題"  [email protected] < /data/findyou.txt
echo "text" | mail -s "subject"  address
# echo "text" | mail -s "subject"  [email protected]
cat ffile.txt | mail -s "subject"  address 
# cat  /data/findyou.txt | mail -s "subject"  [email protected]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章