Linuxシステム管理システムのタイミングタスク(crondサービス、crontabコマンド)

序文

指定された時間に、指定されたコマンドまたは指定されたプログラムスクリプトを実行します。多くの機能は手動で実行する必要はありません。たとえば、バックアップなどのタスクは通常早朝に実行されますが、現時点ではシステムタイミングタスクが使用されます。Windowsには、システムタイミングタスクを実装するタスクプランツールがあります。パーソナルコンピュータではあまり使用されず、ウイルス対策ソフトウェアがこれを使用する場合があります。
 

1. crondサービスの管理とアクセス制御

時間指定タスクを有効にするには、crondバックグラウンドサービスを開始する必要があります。cronは時間指定タスクのサービスです。これは、dがデモデーモンを意味し、httpd dもバックグラウンドデーモンです。このサービスは、システムでデフォルトで開始および自動開始されます。

起動コマンド: service crond restart
自己起動コマンド: chkconfig crond on

ここに画像の説明を挿入

 

2.ユーザーのcrontab設定

コマンド: crontab [选项]
オプション:
   -e         crontabタイミングタスクの編集、
   -l          crontabタスクのクエリ
   -r          、現在のユーザーのすべてのcrontabタスクの削除

コマンド: crontab -e
機能: crontab編集インターフェースに入ります。vimを開いて作業フォーマットを編集します
* * * * * 执行的任务

ヒント:現在のユーザーのすべてのcrontabタスクを削除するには、crontab -rを使用します。そのうちの1つだけを削除する場合は、crontab -eを使用して1回削除するだけで十分です。
 

2.1形式で表される意味

 

事業 意味 範囲
最初 * 時間の最初の分 0〜59
二番目* 1日の最初の数時間 0〜23
第3* 月の日 1-31
第4* 年の月 1〜12
五番目* 曜日 0-7(0と7は両方とも日曜日を表します)

 

2.2形式の特別な意味

 

特別なシンボル 意味
* いつでも表します。たとえば、最初の*は1時間ごとに毎分実行されることを意味します
不連続な時間を表します。たとえば、「0,8,12 * * *コマンド」
- 連続する時間範囲を表します。たとえば、「0 5 * * 1-6コマンド」は、コマンドが月曜日から土曜日の午前5時に実行されることを意味します。
* / n 実行頻度を表します。たとえば、「* / 10 * * * * command」は、10分ごとにコマンドを実行することを意味します

 

2.3栗を少し与える

 

時間 意味
45 22 * * *コマンド 毎日22:45に注文を実行する
0 17 * * 1コマンド コマンドは毎週17:00に実行されます
0 5 1,15 * *コマンド 注文は毎月1日と15日の午前5時に実行されます。
40 4 * * 1-5コマンド 注文は毎週月曜日から金曜日の午前4時40分に実行されます。
* / 10 4 * * *コマンド 毎日午前4時に、10分ごとにコマンドを実行します
0 0 1,15 * 1コマンド コマンドは、毎月1日と15日に実行され、毎週1日の0:00に実行されます。注:曜日と曜日は、すべて日を定義するため、同時に表示しないことが最善です。管理者を混乱させるのは非常に簡単です。

栗をもう少しあげます。

コマンド: */5 * * * * /bin/echo 11 >> /tmp/test
機能:このコマンドを5分ごとに実行する/ bin / echo 11 >> / tmp / test

コマンド: 5 5 * * 2 /sbin/shutdown -r now
機能:毎週午前5時にシャットダウン

コマンド: 0 5 1,10,15 * * /root/sh/autobak.sh
機能:毎月1日、10日、15日の午前5時にこのプログラムを実行します。

実験を開始:

  • (1)このコマンドを60分ごとに実行しますecho 11 >> / tmp / test
     
    ここに画像の説明を挿入
     
  • (2)スクリプトautobak.shを記述し、12:55にスクリプトを実行します。
     
    ここに画像の説明を挿入
    注:日付の代わりに、%の前にエスケープ文字が追加されます。これはシェルプログラミングでは追加されません。理由:システムタイミングタスクのcrontab -eの%は、追加されない場合、特別な意味があります。エスケープ文字を使用すると、時間スクリプトを実行できません。したがって、これに注意を払う必要があります。
     
    ここに画像の説明を挿入
    リコール: date -s 04:59:30時間を調整するコマンド

総括する

(1)現在のユーザーのすべてのcrontabタスクを削除するには、crontab -rを使用します。そのうちの1つだけを削除する場合は、crontab -eを使用して1回削除するだけで十分です。
(2)この最小単位は分です。12:52:50〜12:53:00秒の場合は、分単位の流れを見るためだけに実行されます
(3)重要なのは、crondサービスを開始し(デフォルトでアクティブになっています)、次にcrond -eを使用して、フォーマットに従って入力と書き込みを行うことです。サーバーで使用される一般的なメンテナンス方法。

おすすめ

転載: blog.csdn.net/weixin_46818279/article/details/107998829