Linuxのようなシステムでは非常に頻繁に日常的なプロセスを自動化する必要があります。特別プランナーがこれに使用されます。それらの中で最も有名なものの1つがCronです。これについてはこの記事で説明します。

Cronとは何ですか?

プログラムの名前はギリシャ語に由来します「クロノス」は時間を意味します。実際、論理的です。デーモンのタスクは、特定の時間に書き込まれたコマンドを実行することです。実際の実装プロセスは、クラウンテーブルをチェックし、それらを現在の日付と時刻と比較することに基づいています。

Crontabファイル

Cron設定の最も重要な要素は次のとおりです。crontab設定ファイル。これには実行コマンドとスクリプトへのパスが含まれています。それらのすべてはルートとして実行されます。それらは/etc/cron.dディレクトリに置かれているので、これらのファイルはそこに設定する必要があります。

cron設定

システムの個々のユーザーごとに、独自のcrontabファイルが使用されます。

異なるLinuxディストリビューションは、ディレクトリを使用してユーザーの設定を保存します。 RedHatでは、これはvarです/スプール/クーロン。 DebianとUbuntuでは、これはvar / spool / cron / crontabsになります。 SUSEのvar / spool / cron / tabs。

crontabを管理するコマンドのリスト

Cronには、スケジューラを管理できる特別な指示文があります。 crontabと組み合わせて適用してください。ここに短いリストがあります:

  • -u username。タスクと設定がさらに処理されるユーザーを設定します。このキーを省略すると、デフォルトのユーザーが指定されます。
  • -l。現在のタスクリストを表示します。
  • -e。タスクスケジューラのエディタを実行します。
  • -r。使用可能なすべてのタスクをリストから削除します。

タスクの形式

前述のように、Cronの設定はコマンドを特別なファイルに設定することです。 6つの列からなる単純なレコードのように見えます。

  • 最初の数字は分数を示します。使用可能な範囲は0〜59です。複数の値、範囲、および特殊文字を使用できます。
  • 2番目の列はクロックです。 0〜23の値を使用できます。
  • それ以上の日。ここでは、1〜31の数値を指定できます。
  • 4番目は月です。最小値は1、最大値は12です。
  • 5週目。 0または7は日曜日に対応します。
  • 最後のコマンドはコマンドそのものです。

前述のように、ファイル内で指定することができます特殊文字、「*」または「/」。たとえば、23 * / 2 ***エコーの "Execute"というようなレコードは、1時間おきに23分ごとに "Run"と表示されることを意味します。

cronセットアップ

crontabファイルの機能

Cronを設定するときは、設定時に考慮する必要がある特定のプロパティがあることに注意してください。

  • 各ファイルは必ず空の文字列で終わらなければなりません。さもなければ、最後の項目は無視され、場合によってはファイル全体が無視されます。
  • 名前にポイントを持つディレクトリに置かれたファイルもスケジューラによって無視されます。
  • 設定ファイルでは、 "#"グリッド記号を使用できます。これらは、行にコメントを付けるために使用されます。これは、スケジュールされたタスクとコマンドを記述するのに非常に便利です。

追加変数

Cronを設定するときは、コマンドに特殊な値と略語を使用できます。たとえば、曜日を指定するには、次のリストを使用します。

  • 太陽 - 日曜日;
  • 月曜日 - 月曜日。
  • 火曜日 - 火曜日。
  • wed - 環境;
  • th - thursday;
  • 金曜日 - 金曜日。
  • 土曜日に座った。

数ヶ月間、jan、feb、mar、apr、may、jun、jul、aug、sep、oct、nov、decという別々のリテラル値もあります。

チューニングcron centos

また、Cronを設定するために、コマンドライン全体を置き換えることができる別々の変数があります:

  • @reboot。このコマンドは、コンピュータを起動するたびに開始されます。
  • @年次。このタスクは、年に一度開始されます。これに相当する数値形式のレコードは、0 0 1 1 *とすることができます。その同義語はまだ@年に書くことができます。
  • @月次。名前から推測できるように、この変数は月に1回コマンドを実行します。その数値は0 0 1 * *です。
  • @ウィークリー。この変数は毎週開始されます。
  • @dayly。 1日に1回。
  • @midnight。打ち上げは真夜中に行われます。
  • @hourly。毎時間

CentOS 7でのCronの設定

インストールと構成のプロセス自体は小さい他の同様のLinuxディストリビューションとは異なります。 CentosでCronを設定する前に、cronieパッケージをシステムにインストールする必要があります。これは、yum install cronieコマンドで行うことができます。命令ファイルを作成するには、ターミナルでcrontab -eを実行する必要があります。すべてのCronシステム設定は/ var / spool / cron / usernameに保存されます。

centos 7 cron setup

反復的なタスクを作成するための有用な例

どのユーザーのほとんどのニーズにも対応できるようにCronを構成できます。

  • 00 09-17 * * 1 - 5 / way /チーム/クラウンへ。このコマンドは、最初の1分ごとに9〜5時間の作業日ごとに自動的にスケジュールされたアクションを実行します。
  • 00 9.17 * * * /パス/チーム/クラウンへ。 この例では、コマンドは1日2回実行されます。 9時には1位、5時に2位。 「*」記号は、コマンドが毎日、毎月、および毎年実行されることを示します。
  • また、シンボル変数についても忘れないでください。たとえば、@monthlyは最初の1時間の最初の1分に毎月タスクを実行します。 @dailyは毎日起動します。

Cron Schedulerのユーザーレビュー

原則として、普通のものと純粋ではないものCronユーザーは単なる文字の集合です。しかし、システム管理者やLinuxユーザーには、このユーティリティは不可欠なアシスタントです。多くの人が、うまくチューニングされたシステムの柔軟性とパフォーマンスに注目しています。

クローンセットアップ

Cronを使用すると、一定の間隔で手作業で実行するのが難しいルーチンプロセスを自動化できます。バックアップシステムを作成するのか、それを更新するのか。

しかし、いくつかの小さなニュアンスがあります。 たとえば、いくつかのシステム管理者は、スケジューラで1秒ごとにコマンドを実装できることがうれしいことに注意しています。しかし、このプログラムの開発者は、このオプションが実装されないことを繰り返し明らかにしています。

初心者は通常大きなスケジューラー・デーモンを開始するときの設定と問題の数。それらのために、より理解できる殻があります。たとえば、Debianに基づくディストリビューションでは、GNOMEのスケジュールになることがあります。 KDE版はkcronと呼ばれています。

結論

全体として、Cronは多くのルーチンプロセスを自動化し、システムの作業を容易にします。コマンドラインと構成ファイルの手動設定の微妙さを嫌う人にとって、相互作用を単純化するグラフィカルシェルにはいくつかの種類のCronがあります。

他のオペレーティングシステムにも独自のたとえば、Windows環境ではNnCronです。別のアナログはタスクスケジューラです。また、Microsoftのシステムラインでも利用できます。コンソールのバージョンはschtasks.exeです。

</ p>