cron は、Linux のバックグラウンド プロセスで、いくつかのタスクを定期的に実行するために使用されます。私は Ubuntu を使用しているため、この記事のすべてのコマンドは Ubuntu でのみ有効であることが保証されていますが、他のシステムでも同様であるはずです。
指定したタスクを cron に実行させたい場合は、まず crontab ファイルを編集する必要があります。 crontab は、実行するコマンドを保存するために使用されるテキスト ファイルです。次のコマンド
crontab -e
を使用して、ユーザーに属する crontab ファイルを開くことができます。このコマンドを初めて使用するときは、テキスト エディターを選択するように求められます。私は vim を選択しました。選択したエディターは、
select-editor
コマンドを使用して変更することもできます。この点についてはコマンド ラインに十分なヒントがあるため、詳細は説明しません。
開いた crontab ファイルは次のようになります:
# m h dom mon dow command
*/2 * * * * date >> ~/time.log
2 行目はテスト用に書いた通常のタスクです。 date >> ~/time.log コマンドが 2 分ごとに実行されること (現在の時刻が time.log ファイルに記録される)。これを crontab に追加し、保存して終了します。
crontab を保存した後、このスケジュールされたタスクを適用するには cron を再起動する必要があります。次のコマンドを使用します:
sudo service cron restart
以下では、crontab の各行の意味を簡単に説明します。 crontab の各行は定期的に実行されるタスクを表し、6 つの部分に分かれています。最初の 5 つの部分はコマンドがいつ実行されるかを示し、最後の部分は実行されたコマンドを示します。各セクションはスペースで区切られており、内部でスペースを使用できる最後のセクション (コマンド) を除き、他のセクションではスペースを使用できません。最初の 5 つの部分は、分、時間、日、月、週を表します。各部分の値の範囲は次のとおりです:
分 0 - 59
時間 0 - 23
日 1 - 31
月 1 - 12
週。 0 -6 0 は、日曜日のこれらの固定値に加えて、星の数 (*)、カンマ (,)、および斜線 (/) を一致させて他の意味を表すこともできることを意味します:
は任意の値を示します、たとえば、正しい値で、たとえば正しい値で、たとえば正しい値で、たとえば正しい値で、たとえば正しい値で、たとえば正しい値で、たとえば正しい値で、例えば正しい値で、例えば正しい値で、例えば正しい値で、例えば正しい値で、例えば正しい値で、例えば正しい値で、例えば正しい値で、など正しい値のような、正しい値のような、正しい値のような、正しい値のような、正しい値のような、例えば、任意の値に関して、例えば、任意の値に関して値、例えば、任意の値、例えば、方法で 時間の部分を埋めます*は任意の時間(毎時)を表します
1つの部分に複数の値をカンマで埋めることができます。たとえば、1 分または 3 分の分の部分に 1,3 を記入します。たとえば、2 分ごとを表す場合は、時間の部分に */2 を記入します。したがって、*/1 と * の間に違いはありません
*/2 は、2 で割ることができる任意の値とみなすことができます。 rynows以下はいくつかの例です(コマンドパーツは省略されています):
* * * * * 00スケジュールされたタスクを cron に追加するための基本的な知識。 cron のタスクは基本的にコマンドラインを実行することなので、当然、権限の問題が発生します。上記の例のタスクは、現在ログインしているユーザーの権限で実行されます。root ユーザーとしてタスクを実行する必要がある場合は、crontab の前に sudo を追加できます。
sudo crontab -e
ちなみに、crontabファイルはユーザーごとに異なるため、設定した時刻を定期的に確認するという作業はここでは見ることができません。 root ユーザーに対してそのようなスケジュールされたタスクを追加していないためです。
ちなみに、コマンドラインが気に入らない場合は、Ubuntu ソフトウェア センターにアクセスして、次にスケジュールされたタスク プログラムに移動できます。ソフトウェア センターでスケジュールを検索すると見つかります。これは GUI プログラムであり、非常に確実です。ただし、root ユーザーを使用してタスクを実行するように設定する方法はないようです。さらに、操作のためにサーバーに SSL 接続したい人にとって、コマンド ラインは依然として最良 (唯一の) ツールです。
私は現在この知識を使用しているため、cron についてはあまり知りません。 Ubuntu での cron の子供用シューズについて知りたい場合は、Ubuntu の公式記事
CronHowTo
を読むことができます。個人的にはかなり詳しいと思います。