GNU/Linux >> Linux の 問題 >  >> Debian

Linuxでのcronジョブとは

cron システムバックグラウンドでタスクを実行するデーモンです。後で実行するようにスケジュールされたタスクは、「cronジョブ」と呼ばれます。 「。 Cron Jobsは、システムバックアップを定期的に作成するなどの定期的なタスクに最適であると考えられています。 Linuxユーザーは、Cron Jobsを使用して、通常のタスクを1時間ごと、1日ごと、1週間ごと、1か月ごと、または1年ごとに自動化できます。 cronジョブを追跡するには、「Crontabファイル 」が使用されます。これは、ユーザー固有の場合もあれば、システム全体のcronジョブを持つ場合もあります。

この記事では、CronJobsとそのタイプについて説明します。さらに、いくつかのCron Jobsの例と、crontabファイルからCronJobsを一覧表示して削除する手順も示します。では、始めましょう!

Linuxのcronジョブとは

cron Linuxのデーモン機能はWindowsのサービスと同様であり、どちらもシステムバックグラウンドで特定の時間に実行されるタスクをスケジュールするために使用されます。 cronジョブ 主に、システムキャッシュを定期的にクリーンアップしたり、ログファイルとデータベースのバックアップを作成したりするために使用されます。一方、crontabファイルはすべてのシステムCron Jobで構成されており、コマンドを作成するための特定の構文も含まれています。

Linuxでのcrontabコマンドの構文

crontabコマンドを作成する際に従うべき構文を以下に示します。

* * * * * [Command or Script]

ここ:

  • 最初のアスタリスク*は「」を表します 」
  • 2番目のアスタリスク*は、「時間」を表します 」
  • 3番目のアスタリスク*は、「」を表します 」
  • 4番目のアスタリスク*は、「」を表します 」
  • 5番目で最後のアスタリスク*は「曜日」を表します 」

次に、上記のフィールドの値を確認します。

Linuxでのcronジョブコマンド

Linux端末で利用できるCronJobsコマンドの一部を次に示します。

コマンド 説明
crontab -a crontab-a 」コマンドは、ユーザー固有のcrontabファイルを作成するために使用されます。 「ファイル名」を指定する必要があります 「-a」を追加した後、このコマンドで「」 」オプション。
crontab -r crontab-r 」コマンドは、crontabファイルを削除するために使用されます。
crontab -e crontab-e 」コマンドは、作成済みのcrontabファイルを編集するために使用されます。
crontab -v crontab-v 」コマンドは、crontabファイルの変更時刻を表示するために使用されます。
crontab -l <​​/ strong> crontab-l 」コマンドは、crontabファイルのコンテンツを表示するために使用されます。

LinuxでCronサービスを確認する方法

Crobジョブを開始する前に、「 cron.service」を確認してください 」は現在Linuxシステムでアクティブになっています。この目的のために、以下の「 systemctl」を実行します。 ”コマンド:

$ sudo systemctl status cron.service

以下の出力は、 cron.serviceであることを示しています。 「アクティブ 」とシステム上で実行中:

場合によっては、「 cron.service 」がLinuxシステムで非アクティブになっている場合は、次のコマンドを実行して起動します。

$ sudo systemctl start cron.service

Linuxでのcronジョブの種類

cronジョブは、主に次の2つのタイプで構成されます。システム全体 CronJobsとユーザー固有 cronジョブ。次のセクションでは、両方のタイプとそれに関連するCronジョブファイルの違いについて説明します。

Linuxのシステム全体のcronジョブとは

cronジョブは、システム管理者のみがアクセスでき、システム全体のcronジョブと呼ばれます。これらのcronジョブは、「 /etc/cron.d」にあります。 」ディレクトリと「/etc / crontab " ファイル。これらのcrontabファイルは、「 /etc/cron.daily」を介して実行されます。 」、「 / etc / hourly 」、「 /etc/cron.monthly 」、および「 /etc/cron.weekly 」。

システム管理者の場合は、「 / etc / crontab」を編集できます。 ” Cron Jobsを定義するためのnanoエディターのファイル:

$ sudo nano /etc/crontab

Linuxでのユーザー固有のcronジョブとは

ユーザー固有のcronジョブは、特定のユーザーに対して定義されたCronジョブのタイプです。これらのタイプのcronジョブは、「 / var / spool / cron / crontabs /」に存在します。 」ディレクトリ。指定したcronジョブファイルを手動で編集できます。ただし、「 crontab -e」を使用することをお勧めします 」コマンドを使用して編集操作を実行します:

$ crontab -e

crontab」の実行 」コマンドと「-e 」オプションは、Cronジョブファイルを編集するための3つのオプションを表示します。 「1」を選択しました 」nanoエディターでファイルを編集するのは簡単なので:

ユーザー指定のCrontabファイルはどういうわけか次のようになります:

Linuxでのcronジョブの例

このセクションでは、CronJobの形成を理解するのに役立つCronJobの例をいくつか紹介します。

注: 以下の例で使用されているすべてのスクリプトは手動で作成されています。

例1:/root/backup.sh」を実行するためのcrontabファイルに次のcrontabコマンドが追加されています。 」40ごとのスクリプト 分:

40 * * * * /root/backup.sh

crontabコマンドを入力した後、「 CTRL + O」を押します。 」を使用して、追加された変更を保存します:

例2: 2番目の例では、「 filescript.sh」を実行するcrontabコマンドを記述します。 」5月、8月、9月、10月の午後5時ごとに:

00 05 10 5,8,9,10 * /usr/local/bin/filescript.sh

例3: 次のcrontabコマンドは、「 filescript.sh」を実行します。 毎週土曜日の午後10時のスクリプト:

0 10 * * sat  /scripts/filescript.sh

例4: crontabコマンドで複数の日を指定することもできます。たとえば、「 filescript.sh」を実行するには 」スクリプトは毎週日曜日と金曜日の午後4時に、次のcrontabコマンドを書き出します。

0 04 * * sun,fri  /script/filescript.sh

例5: 次の例では、「/scripts/filescript.sh」の実行に役立つ条件を追加しました。 」ファイルを30秒ごとに:

* * * * * /scripts/filescript.sh
* * * * *  sleep 30; /scripts/filescript.sh

例6: 特別なcronジョブ文字列を使用してジョブをスケジュールすることもできます。たとえば、「 @daily 毎日実行されるCronジョブをスケジュールするために、crontabコマンドの先頭に「」が追加されます。

@daily /scriptdir/filescript.sh

@yearly」を指定する 次のコマンドの」は「filescript.sh」を実行します 」スクリプトを毎年:

@yearly /scriptdir/filescript.sh

filescript.sh」を実行するCronジョブをスケジュールするには 」スクリプトファイルを週に1回、「 @weekly」を追加します crontabコマンドの先頭にある「」文字列:

@weekly /scriptdir/filescript.sh

同様に、「 @hourly」を使用できます 」と「@monthly ”CronJobsをそれぞれ1時間に1回と1か月に1回実行するようにスケジュールするための文字列。

例7: 開いているファイルで特定のユーザーのcronジョブを定義することもできます。これを行うには、以下の構文を確認してください。

*****  [Username] [Script_name]

ここでは、「スクリプトファイル」を実行するCronジョブを作成します。 」は、「 linuxfoss」のホームディレクトリにあります 」ユーザーは20分ごと:

20 * * * * linuxfoss scriptfile

例8: すべてのユーザーアカウントのバックアップを実行したいですか? crontabコマンドを使用すると、システムのバックアップをスケジュールできます。たとえば、以下に示すcrontabコマンドは、毎週午前6時にユーザーアカウントをバックアップするCronジョブを作成します。

 0 6 * * 1 tar -zcf /var/backups/home.tgz /home/

CTRL+ O」を押します 」を使用してcrontabファイルにコマンドを書き出し、nanoエディターを終了します。

LinuxでCronジョブを一覧表示する方法

ターミナルにCronジョブを一覧表示すると、すべてのCronジョブを一度に表示する場合に便利です。この目的のために、「 -l」を追加できます 「crontab」の「」オプション 」コマンドを実行し、Linuxターミナルで次のように実行します。

$ crontab -l

crontabファイルには、すべてのユーザーアカウントのバックアップを作成するためのCronジョブのみが保存されており、出力にも表示されます。

LinuxでCronジョブのバックアップを作成する方法

crontab」を使用して、cronジョブのリストを表示しました。 " 指図。 「crontab-l」の出力をリダイレクトすることもできます 」を特定のファイルに追加して、追加されたCronジョブのバックアップを作成します。 STDOUTまたはリダイレクト演算子「> 」を使用して、指定された操作を実行できます:

$ crontab -l > backupfile.txt

次に、「」と入力します ”コマンドを使用してCron Jobバックアップファイル名を入力し、その内容を表示します:

$ cat backupfile.txt

LinuxでCronジョブを削除する方法

-r crontabファイルからCronジョブを削除するためのオプションがcrontabコマンドに追加されました。さらに、「 -i」を追加できます ” Cron Jobsを削除するようにユーザーに促すためのオプション:

$ crontab -i -r

プロンプトなしでcronジョブを削除するには、単純な「 crontab -r」を実行します。 」コマンドを実行すれば、すべて完了です!

$ crontab -r

結論

反復プロセスのスケジューリングと自動化により、Linuxベースのシステムの生産性が向上すると同時に、手動による監視とユーザーの中断が減少します。タスクのスケジュールを立てるのに役立つ膨大なプログラムがあります。ただし、「 cron 」が最も広く使用されています。 crontabファイルでは、「 cron」を使用してCronジョブを追加します。 」デーモン。この記事では、Cron Jobの構文、関連するコマンド、およびCronJobの種類について説明しました。さらに、Crontabコマンド構造を理解するのに役立ついくつかのCronJobsの例も示しました。


Debian
  1. Linuxでcronを使用する方法

  2. LinuxのUmaskとは

  3. Linuxでの使い捨てcronジョブにatを使用する

  1. Linuxでのcronの4つの代替手段

  2. cronジョブの使用とポリシー

  3. JingOS Linux とは何ですか?

  1. Linuxユーザーとは何ですか?

  2. ルートキットハンターとは何ですか?

  3. Linux:フォアグラウンドで cron ジョブを実行する