Linux毎日学習(16)--通常の作業スケジュール

3826 ワード

linuxインスタンスワークスケジューリング
  • ジョブスケジュール種別:at,cron
  • 定期的に一定周期ごとに実行されるプランで、毎月の会員活動のように
  • 突発的、1回実行
  • at:一度でスケジューリングを終了する命令を実行し、atdサービスサポートが必要な場合のみ
  • crontab:crontab指令設定の作業は永遠に循環して実行でき、循環時間:分、時、日、月、週など、cronサービスが有効になる必要がある
  • 1回のみのジョブスケジュールat
  • 起動/etc/init.d/atd start
  • 運転方式:/etc/atによる.allowと/etc/at.deny構成使用制限の追加
  • 先を探す/etc/at.allowというファイルは、このファイルに書かれた使用者がatを使用することができ、このファイルに書かれていない使用者はatを使用することができない(at.denyに書かれていなくても).
  • もし/etc/at.allowが存在しない場合は/etc/atを探します.denyこのファイルをここに書けばdenyの使用者はatを使用することができず、このatではない.denyファイルの使用者は、atを使用することができます.
  • 両方のファイルが存在しない場合、rootのみatという命令を使用できます.

  • 単一ジョブスケジュールの実行を設定
  • at-h atがサポートするコマンドフォーマットを表示する
  • atq atワークスケジュールリストリストリスト
  • atq jobnumber第数ジョブスケジュールを削除
  • batchシステムの空き時間を実行し、CPUのワークロードが0.8未満の場合に後続のワークスケジュールを行うことができる
  • atの仕事特徴:オフライン作業サポート
  • 循環実行のルーチン作業スケジュール
  • 使用設定:
  • /etc/cron.allow:crontabを使用できるアカウントを書き込み、このファイル内の使用者でなければcrontabを使用できません.
  • /etc/cron.deny:crontabを使用できないアカウントを書き込み、このファイルに記録されていないユーザーはcrontabを使用できます.

  • 構成タスクファイル:
  • /etc/crontab
  • /etc/init.d/*
  • /var/spool/cron/ユーザー名
  • crontab -e

  • 命令説明:
  • crontab-lすべての実行タスクをリスト
  • crontab-r(慎重操作)、すべての実行タスクを削除
  • crontab-e編集実行のタスク
  • * * * * * base home/aa.sh



  • 代表的意義.

    時間
    日付


    インストラクション
    数値範囲
    0-59
    0-23
    1-31
    1-12
    0~7(週の数字が0または7の場合は日曜日)
    じっこうめいれい
     
    特殊文字
    代表的意義.
    *(アスタリスク)
    いつでも受け入れるという意味です!例として、例1の日、月、週はすべて*で、「何月、何日の曜日の12:00に関わらず後続命令を実行する」という意味です!
    、(カンマ)
    期間を区切るという意味です.例えば、3:00と6:00の仕事をすると、> 0 3,6 * * * command時間パラメータは5つの欄がありますが、2番目の欄は3,6で、3と6を表しています.
    -(マイナス記号)
    時間の範囲を代表して、例えば、8時から12時までの時間の20分ごとに1つの仕事を行います.> 20 8-12 * * * command2番目の欄をよく見ると8-12になりますよ.代表8,9,10,11,12都适用的意思!
    /n(斜線)
    そのnは数字、つまり「n単位間隔ごと」という意味で、例えば5分ごとに行うと、> */5 * * * * command簡単でしょう.*と/5で組み合わせると、0-59/5と書くこともできます.同じ意味です!
  • cron最低検出限度:分
  • 変更/etc/crontabプロファイル形式:/etc/crontab設定は7欄に分かれており、「分、時、日、月、週、実行者、指令」はその設定根拠
  • 注意事項:週と日月は並行してはならない
  • 30 12 11 9 5 root echo "just test"
  • 誤認:9月11日が金曜日で実行可能
  • 命令説明:毎週5回実行してもよいし、毎年9月11日に実行してもよい

  • 4.ダウンタイムを起動可能な平日タスク:anacron
  • 使用シーン:実行しているジョブがダウンタイムでタイミングタスク実行ができない
  • anacronは1時間ごとにcrondによって実行され、関連スケジューリングタスクが実行されているかどうかを検出し、タイムアウトしたジョブスケジューリングがあればそのスケジューリングタスクを実行し、実行済みまたはスケジューリングタスクがない場合は停止する.
  • anacronはプログラムであり、サービスではない
  • anacron構成ディレクトリは/etc/anacronのみ:
  • # /etc/anacrontab: configuration file for anacron
    
    # See anacron(8) and anacrontab(5) for details.
    
    SHELL=/bin/sh
    
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    
    MAILTO=root
    
    # the maximal random delay added to the base delay of the jobs
    
    RANDOM_DELAY=45 (               ,     0~45)
    
    # the jobs will be started during the following hours only
    
    START_HOURS_RANGE=3-22(        )
    
    #       
    
    #period in days   delay in minutes   job-identifier   command
    
    1 5   cron.daily    nice run-parts /etc/cron.daily
    
    7 25  cron.weekly      nice run-parts /etc/cron.weekly
    
    @monthly 45 cron.monthly     nice run-parts /etc/cron.monthly
    
    period in days
        ,           。
    
    delay in minutes
        Anacron            ,     .                            。                ,            RANDOME_DELAY         。
    
    job-identifier
          。anacron            /var/spool/anacron/$job-identifier   
    
    command
           。    run-parts                     ,     man run-parts        
    
    anacron    /etc/anacrontab    ,               crontab   

     5.小結:crontabとatはいずれもタイミングでタスクを実行し、時間が経つと実行されません.anacronは「定期」である周期のタスクを実行します.