Crontab は定期的な実行を設定するために使用されるコマンドです。そのデーモン プロセスは crond です。crontab には 2 つの設定モードがあり、1 つはユーザー レベルの crontab、もう 1 つはシステム レベルの crontab です。ここではこれらを個別に説明します。 ユーザーレベルのcrontab ユーザーが新しい周期ジョブ スケジュールを作成する場合、使用される crontab コマンド (crontab -e) はすべてのユーザーが使用できます。通常のユーザーは、スケジュールされたタスクを自分自身に対してのみ設定できます。その後、/var/spool/cron/usenameに自動的に書き込みます。 ユーザーコントロールファイル /etc/cron.allow : /etc/cron.deny : 注文 crontab [-u ユーザ名] [-l|-e|-r] パラメータ: -u: このタスクは、他のユーザーが crontab 作業スケジュールを作成/削除できるように、root だけが実行できます。 -e: vi を呼び出して crontab の作業内容を編集します。 -l: crontab の作業内容を一覧表示します。 -r: すべての crontab 作業内容を削除します。 文法 # .---------------- 分 (0 - 59) # | .------------- 時間 (0 - 23) # | | .---------- 日付 (1 - 31) # | | | .------- 月 (1 - 12) または jan、feb、mar、apr ... # | | | | .---- 曜日 (0 - 6) (日曜日 = 0 または 7) または sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * 注文 構文はシステム レベルの crontab と非常に似ていますが、違いは、システム レベルの crontab (/etc/crontab) では実行ユーザーを指定する必要があるのに対し、ここでは実行ユーザーを指定する必要がないことです。 以下にいくつか例を挙げます。 */10 * * * * /home/test.sh #現在のユーザーとして10分ごとに/home/test.shスクリプトを実行します 0 2 * * * /home/test.sh #毎日2時 0 5,17 * * * /home/test.sh #毎日5時と17時 0 17 * * sun /home/test.sh #毎週日曜日の17時 0 4,17 * * sun,mon /home/test.sh #毎週月曜日と日曜日 @reboot /home/test.sh #システムが再起動したとき 推奨されるオンラインツールは次のとおりです: cron式をオンラインで生成する システム全体のcrontab システムレベルの crontab は、通常、システムの日常的なタスクに使用されます。この方法は、他のユーザーのスケジュールされたタスクを設定するのに便利で直接的であり、シェルの実行などを指定することもできます。設定ファイルは /etc/crontab であり、root ユーザーのみが編集できます。 /etc/crontabを編集する デフォルトの内容は次のとおりです。 SHELL=/bin/bash これは、使用するシェル インターフェイスを指定します PATH=/sbin:/bin:/usr/sbin:/usr/bin これは、ファイル検索パスを指定します MAILTO=root 追加の STDOUT があり、そのデータに電子メールが送信される場合は、システム ユーザーまたは電子メール アドレス ([email protected] など) を指定できます。 # 詳細については man 4 crontabs を参照してください # ジョブ定義の例: # .---------------- 分 (0 - 59) # | .------------- 時間 (0 - 23) # | | .---------- 日付 (1 - 31) # | | | .------- 月 (1 - 12) または jan、feb、mar、apr ... # | | | | .---- 曜日 (0 - 6) (日曜日 = 0 または 7) または sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * ユーザー名コマンド 今すぐ: 毎日、毎月、毎週の期間でユーザータスクコマンドを実行します。 たとえば、/home/test.sh スクリプトを 10 分ごとに root として実行するスケジュールされたタスクを追加する場合は、次のように追加します。 */10 * * * * ルート /home/test.sh 実行者ルートを省略しないでください (実行者はユーザー レベルの crontab で指定する必要はありません)。省略すると、/var/log/cron ログにエラー「ERROR (getpwnam() failed)」が表示され、スケジュールされたタスクは正しく実行されません。 サービスを再起動する 一般的に言えば、Linux の crontab は /etc/crontab 内のルーチン タスクを 1 分ごとに自動的に再読み込みします。ただし、何らかの理由または他の Unix システムでは、crontab はメモリに読み込まれるため、/etc/crontab を変更した後、すぐに実行されない場合があります。この場合は、crontab サービスを再起動する必要があります。 ここでは CentOS を例に挙げます。 service crond start //サービスを開始します service crond stop //サービスを終了します service crond restart //サービスを再起動 service crond reload //設定を再読み込み service crond status //サービスのステータス CentOS 7の場合: systemctl restart crond.service // サービスを再起動systemctl start crond.service // サービスを開始systemctl stop crond.service // サービスを停止systemctl reload crond.service // 構成を再読み込みsystemctl status crond.service // サービスのステータス その他の考慮事項 不要な出力を抑制する 実行結果や実行オプションに出力データがある場合は、MAILTOで指定したアカウントにメールで送信されます。特定のスケジュールが失敗し続け、メールサービスに問題がある場合(実際、このサービスはまったくオンにしていません)、/var/spool/clientmqueue/に大量のファイルが生成されるため、crontabのコマンドの後に> /dev/null 2>&1を追加すると良いでしょう。 2>: リダイレクト エラー。 ログを確認する ログは/var/log/cronに保存されます 文法上の違い
参考文献 バードブラザーズの Linux プライベートキッチン 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: sysbenchツールによるMySQLデータベースのパフォーマンステストの実装方法
>>: JavaScriptでよく使われる配列重複排除実戦ソースコード
序文信じてください。この記事の 7️⃣ ステップを覚えておけば、JS の this リファレンスを完...
html 、アドレス、引用、本文、 dd 、 div 、 dl 、 dt 、フィールドセット、フォ...
H タグ、特に h1 タグの使用は常に議論の的となっている問題であり、私たちが研究する価値のある問題...
以下のように表示されます。 nsenter -t 1 -m -u -n -i sh -c "...
目次概要1. フロントエンドとバックエンドの分離とWeb APIの優先ルート設計2. Axiosネッ...
1. まず、gitを関連付けるときにエラーメッセージが報告されます: エラー: ビルドするリビジョン...
同僚から、MySQL データ型 DECIMAL(N,M) の N と M の意味を尋ねられました。言...
質問docker で gdb を実行すると、ブレークポイントに到達しますが、ブレークポイントに入るこ...
この記事では、モバイルモーダルボックス効果を実現するためのJavaScriptの具体的なコードを参考...
1. 事業背景マスク レイヤーを使用してユーザーの異常な操作を遮断する方法は、フロントエンドでよく使...
目次0. システムに付属するカーネルツリー1. 環境設定最初のステップステップ2 2. ソースコード...
運用保守エンジニアは、初期段階では非常に大変な仕事です。この期間中、コンピューターの修理、ネットワー...
metaはhtml言語のhead領域にある補助タグです。おそらく、これらのコードは不要だと思うかもし...
1. 複雑なSQLクエリ1.1. 単一テーブルクエリ(1)指定の列を選択する[例] 全生徒の生徒ID...
背景nginx-kafka-module は、Kafka を nginx に統合して、Web プロジ...