多くの場合、サーバーでスクリプトを定期的に実行して操作をトリガーする必要があります。たとえば、Qiniu のツールを使用してアップロードする場合、同期ファイルに新しいファイルが追加されると、必要な同期コマンドを完了するためのスケジュールされたスクリプトを提供できます (Qiniu の qrsbox ツールは自動的に同期します。アップロードを自動的に監視するには、同期フォルダーにファイルを追加するだけです)。 1. crontabをインストールする [root@CentOS ~]# yum install vixie-cron [root@CentOS ~]# yum install crontabs vixie-cron パッケージは cron のメイン プログラムです。 crontabs パッケージは、cron デーモンを駆動するために使用されるテーブルをインストール、アンインストール、または一覧表示するプログラムです。 2. crontabサービスを有効にする service crond start //サービスを開始する この cron サービスを開始および停止するには、次の方法を使用します。 service crond start //サービスを開始する service crond stop // サービスをシャットダウンする service crond restart //サービスを再起動する service crond reload //設定を再読み込み crontab サービスのステータスを表示します: service crond status crontab サービスを手動で開始します: service crond start 次のコマンドを実行して、crontab サービスが起動時に開始するように設定されているかどうかを確認します: ntsysv 自動起動に追加: chkconfig –level 35 crond オン さらに、ntsysv コマンドと chkconfig コマンドについても紹介します。 ntsysv コマンドは、ブート起動を設定するためのグラフィカル インターフェイス管理モードです。このコマンドを使用するには、インストールする必要があります。yum install -y ntsysv をインストールした後は、ntsysv を実行するだけで、グラフィカル管理インターフェイスが表示されます。 上下キー: 中央のボックス内のサービス間を移動するために使用できます。 スペースバー: 必要なサービスを選択するために使用できます。[*] は開始を意味します。 Tab キー: ボックス、OK、キャンセル間を移動できます。 [F1]キー:サービスの説明を表示できます。 chkconfig コマンドライン形式については、起動時に自動的に開始するか、6 つの起動レベルでサービスの実行状態を照会するかを設定します。 起動時に crond サービスが自動的に開始するように設定します。 [root@CentOS ~]# chkconfig crond をオン 各ブートレベルでcrondサービスの実行状態を表示する [root@CentOS ~]# chkconfig –list crond crond 0: 無効 1: 無効 2: 有効 3: 有効 4: 有効 5: 有効 6: 無効 レベル 2、3、4、5 で crond サービスが自動的に開始されることがわかります。 crond サービスの自動起動をキャンセルします。 [root@CentOS ~]# chkconfig crond をオフにする 3. 実行するスクリプトを設定する 新しいスケジュール タスクを追加するには、次の 2 つの方法があります。 1) コマンドラインに crontab -e と入力し、対応するタスクを追加して保存して終了します。 2) /etc/crontab ファイルを直接編集し (つまり、vi /etc/crontab)、対応するタスクを追加します。 crontab -e 設定は特定のユーザー用ですが、/etc/crontab の編集はシステム タスク用です。 スケジュールされたタスクを表示する crontab -l //現在スケジュールされているすべてのタスクを一覧表示します crontab -l -u jp // ユーザー jp のすべてのスケジュールされたタスクを一覧表示します タスクスケジューラを削除する crontab -r //すべてのタスクスケジュールジョブを削除する vim /etc/crontab を直接編集します。デフォルトのファイル形式は次のとおりです。 シェル=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=ルート ホーム=/ # 詳細については 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 # | | | | | # * * * * * ユーザー名 実行するコマンド このテキストの説明は非常に直感的です。 アスタリスク (*): すべての可能な値を表します。たとえば、月フィールドにアスタリスクが含まれている場合、他のフィールドの制約が満たされた後、毎月コマンド操作が実行されることを意味します。 カンマ(,):カンマで区切られた値のリスト範囲を指定できます。例:"1,2,5,7,8,9" 中央バー (-): 整数間の中央バーを使用して整数の範囲を表すことができます。たとえば、「2-6」は「2,3,4,5,6」を意味します。 スラッシュ (/): スラッシュを使用して時間間隔の頻度を指定できます。たとえば、「0-23/2」は 2 時間ごとに実行されることを意味します。同時に、スラッシュはアスタリスクと一緒に使用できます。たとえば、分フィールドで */10 を使用すると、10 分ごとに実行されることを意味します。 以下に、基本的に一般的な状況を網羅した例をいくつか示します。 例1 : : : : : : : : : : : : : : : # 毎日 4:22 に /etc/cron.daily ディレクトリ内のすべての実行可能ファイルを root として実行します。run-parts パラメータは、次のディレクトリ内のすべての実行可能ファイルが実行されることを示します。 例2 #毎晩21:30にApacheを再起動する 30 21 * * * /usr/local/etc/rc.d/lighttpd を再起動 #毎月1日、10日、22日の4:45にApacheを再起動する 45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpdを再起動 #毎週土曜日と日曜日の1:10にApacheを再起動する 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpdを再起動 #毎日18:00から23:00まで30分ごとにApacheを再起動します 0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd 再起動 #毎週土曜日の午後11時にApacheを再起動する 0 23 * * 6 /usr/local/etc/rc.d/lighttpdを再起動 #午後11時から午前7時まで1時間ごとにApacheを再起動します 0 23-7/1 * * * /usr/local/etc/rc.d/lighttpd 再起動 #1時間ごとにApacheを再起動する 0 */1 * * * /usr/local/etc/rc.d/lighttpd を再起動 #毎月4日と毎週月曜から水曜の11時にApacheを再起動します 0 11 4 * 月〜水 /usr/local/etc/rc.d/lighttpd 再起動 #1月1日4時にApacheを再起動 0 4 1 jan * /usr/local/etc/rc.d/lighttpd を再起動 #30分ごとに時間を同期する 0/30 * * * * /usr/sbin/ntpdate 210.72.145.44 知らせ * *1 * * * このコマンドは、毎時間ごとに 1 分ごとに実行されることを意味します。 実行する各時間の分数を指定する必要があります。つまり、最初の * を数字に変更する必要があります。 * は 1 分ごとに表されるからです。 /1 と hour の間に違いはありません。どちらも 1 時間に 1 回です。 */2 と設定した場合、タイミング設定開始から 2 時間後ではなく、2 で割り切れる時間数後に実際に実行されます。例えば、9 時に設定した場合、10 時に実行されます。 最後に、次のような問題が発生する可能性があります。 表示するには、rootユーザーとしてcrontab -lと入力します。 root 用の crontab はありません。例: [root@CentOS ~]# crontab -l ルート用のcrontabがない この問題は非常に簡単です。また、root ユーザーとして crontab -e と入力します。 Escキーを押します。wq Enterキーを押します。 crontab -lと入力しても問題はありません 主な理由は、この Linux サーバーが crontab を使用するのは今回が初めてであり、対応するファイルがまだ生成されていないことです。編集 (crontab -e) を実行すると、このファイルが生成されます。 Linux CentOS でスケジュールされたスクリプトを構成する方法は以上です。これが参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Node.js での組み込みモジュールとカスタムモジュールの実装
>>: MySQL共通ストレージエンジンの機能と使用方法の詳細な説明
要約する1. 類似点どちらも、ターゲット関数が実行されると内部の this ポインターを変更できます...
ヘッドと DTD はページには表示されませんが、Web ページの重要な要素です。 なぜ失敗したのでし...
目次URL モジュール1. 解析メソッド2. フォーマット方法3. 解決方法イベントモジュール(イベ...
1: nginx のインストール方法については詳しく説明しません。Baidu で検索してください。 ...
目次1. Vue スキャフォールディングをインストールする2. プロジェクトを作成する3.1 プロジ...
CS: ... 1. <link type="text/css" href...
Vue を学習する際に、vscode ターミナルで常に webpack 命令を使用すると、次のよう...
1. 仮想マシンをダウンロードする公式ダウンロードウェブサイト: https://www.vmwar...
タイムスタンプの差を計算するSQLメソッド概要場合によっては、特定のレコードを時間で検索する必要があ...
序文MySQL では、EXPLAIN コマンドを使用して、テーブルの接続方法や SELECT ステー...
CSS 変換は便利ですが、背景画像にはまだ適用されていません。この投稿では、背景画像を回転させたい場...
<br />注目を集めるウェブサイトを作成するには、どのような原則に従うべきでしょうか?...
目次挿入バッファとは何ですか?挿入バッファのトリガー条件は何ですか?なぜ一意のインデックスにできない...
これは、面接者の CSS に関する基本的な知識をテストするものです。 CSSでアニメーションを実装す...
1. タイプの導入1.1 ドメインベースの仮想ホスティングいわゆるドメイン名ベースの仮想ホストとは、...