Skip to main content

Linux Crontabファイルを編集してジョブをスケジュールする方法

Como crear un Script de mantenimiento en Linux (六月 2026)

Como crear un Script de mantenimiento en Linux (六月 2026)
Anonim

Linuxのデーモンが呼び出されました クロン 定期的にプロセスを実行します。システム上の特定のフォルダをチェックして、/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthlyなどの一連のフォルダでスクリプトを実行するようにします。 / etc / crontabというファイルもあります。

Cronフォルダにスクリプトを配置する

スクリプトを適切なフォルダに配置するだけで、定期的に実行することができます。

たとえば、ターミナルウィンドウを開き、次のlsコマンドを実行します。

ls / etc / cron *

毎時間、毎日、毎週、毎月実行されるプログラムまたはスクリプトのリストが表示されます。

これらのフォルダの問題は、少し曖昧だということです。例えば、 毎日 スクリプトが1日に1回実行されることを意味しますが、その日にスクリプトが実行される時間は制御できません。

それはcrontabファイルが入ってくる場所です。

crontabファイルを編集することで、スクリプトやプログラムを実行したい日付と時刻に実行することができます。

アクセス許可

crontabコマンドを実行するには、ユーザーがcrontabファイルを編集する権限を持っている必要があります。基本的に、crontab権限を管理するために使用される2つのファイルがあります。

  • /etc/cron.allow
  • /etc/cron.deny

ファイル/etc/cron.allowが存在する場合、crontabファイルを編集したいユーザーは、そのファイル内になければなりません。 cron.allowファイルが存在しないが/etc/cron.denyファイルがある場合、ユーザーはそのファイルに存在してはいけません。両方のファイルが存在する場合、/etc/cron.allowは/etc/cron.denyファイルを上書きします。どちらのファイルも存在しない場合は、ユーザーがcrontabを編集できるかどうかはシステム構成によって異なります。

rootユーザーは常にcrontabファイルを編集できます。 suコマンドを使用してrootユーザーに切り替えるか、sudoコマンドを使用してcrontabコマンドを実行します。

Crontabファイルの編集

適切な権限を持つ各ユーザーは、独自のcrontabファイルを作成できます。 cronコマンドは、基本的にすべてのcrontabファイルを探し、それぞれのファイルを実行します。

crontabファイルがあるかどうかを確認するには、次のコマンドを実行します。

crontab -l

crontabファイルがない場合、「no crontab for "と表示されます。そうでなければ、crontabファイルが表示されます(この機能はシステムによって異なります。表示されない場合や、「このファイルを編集しないでください」と表示されることもあります)。

crontabファイルを作成または編集するには、次のコマンドを実行します。

crontab -e

開いているファイルには多くの情報がありますが、重要な部分はコメントセクションの終わりの直前の例です(コメントは#で始まる行で示されます)。

#m h dom mon dowコマンド

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

crontabファイルの各行に収まる6つの情報があります:

  • コマンドが実行される日の分(m)
  • コマンドが実行される時間(h)
  • コマンドが実行される月の日(dom)
  • コマンドが実行される月(月)
  • コマンドが実行される曜日(ダウ)
  • コマンド

各項目(コマンドを除く)について、ワイルドカード文字を指定することができます。次の例のcrontab行を見てください:

30 18 * * * tar -zcf /var/backups/home.tgz/ home /

30分、18時間、および任意の日、月、曜日に、このcrontabエントリは、ホームディレクトリを/ var / backupsフォルダに圧縮してtarします。

1時間ごとに30分後に実行するコマンドを取得するには、次のコマンドを実行します。

30 * * * *コマンド

午後6時を過ぎて毎分実行するコマンドを取得するには、次のコマンドを実行します。

* 18 * *コマンド

したがって、crontabコマンドの設定には注意が必要です。

例えば:

* * * 1 *コマンド

このコマンドは、1月に毎週毎日毎分実行されます。

1月1日午前5時にコマンドを実行するには、crontabファイルに対して次のコマンドを実行します。

0 5 1 1 *コマンド

Crontabファイルを削除する方法

ほとんどの場合、crontabファイルを削除したくないかもしれませんが、crontabファイルからいくつかの行を削除したい場合があります。

ただし、ユーザーのcrontabファイルを削除する場合は、次のコマンドを実行します。

crontab -r

これを行うより安全な方法は、次のコマンドを実行することです。

crontab -i

オペレーティングシステムは、crontabファイルを削除する前に確認を求めます。