1時間ごとにcrontabジョブをスケジュールする方法

How Schedule Crontab Job



ほとんどのLinuxユーザーは、Crontabジョブスケジューラに精通しています。Crontabジョブスケジューラは、人間の介入なしに、割り当てられたすべてのタスクを自動的に実行するサイレントデーモンとして機能します。このジョブスケジューラを使用すると、頻繁に発生するすべてのタスクをCrontabスケジューラに渡して、指定したスケジュールに従ってこれらのタスクを自動的に実行できるため、Linuxユーザーの作業がはるかに簡単になります。

特定のタスクを1時間に1回実行したい場合があります。タスクを手動で実行する場合、ユーザーは1時間ごとにそのタスクを実行できる必要があるため、これはユーザーにとって非常に困難なタスクになる可能性があります。タスクが非常に重要であり、何らかの理由でユーザーがタスクを実行する時間を逃した場合、これは深刻な結果につながる可能性があります。







Crontabジョブスケジューラは、このような状況で祝福になる可能性があります。 Crontabを使用すると、Crontabファイルにタスクを追加して、指定した時間にジョブとして実行することができます。この記事では、Linux Mint20でCrontabジョブが1時間に1回発生するようにスケジュールする方法を説明します。



1時間ごとにcrontabジョブをスケジュールする方法

Linux Mint 20でcrontabジョブが1時間に1回発生するようにスケジュールするには、以下の手順に従います。



ステップ1:Crontabジョブとしてスケジュールするタスクを作成する

まず、1時間に1回Crontabジョブとして実行するタスクを定義します。このタスクは、バックアップの作成から単純なbashスクリプトの実行まで何でもかまいません。この例では、1時間ごとに実行されるbashスクリプトを作成します。次の図に示すように、ホームディレクトリにbashファイルを作成し、このbashファイルのターミナルにランダムなメッセージを出力するスクリプトを追加します。次に、このファイルを保存して閉じます。このbashスクリプトが1時間ごとに実行されるようにジョブを定義します。





ステップ2:Crontabサービスを開始する

以下のスクリーンショットでわかるように、新しいcrontabサービスを開始する前に、新しいターミナルウィンドウを起動しました。

このスクリプトをジョブとしてCrontabファイルに追加する前に、まずCrontabサービスを開始する必要があります。これは、次のコマンドを実行することで実行できます。

$sudosystemctl start cron


このコマンドを実行すると、端末に出力を表示せずにCrontabサービスがすぐに開始されます。



ステップ3:Crontabサービスのステータスを確認する

上記のコマンドは自動的にCrontabサービスを開始しますが、次のコマンドを使用してステータスを確認することにより、先に進む前にCrontabサービスを確認できます。

$sudosystemctl status cron


Crontabサービスが正常に開始された場合、上記のコマンドを実行すると、次の画像に示すように、アクティブ(実行中)ステータスが表示されます。このステータスは、Crontabサービスが正しく実行されていることを確認します。

ステップ4:Crontabファイルを起動する

Crontabサービスが正しく実行されていることを確認したら、Crontabファイルを開いて目的のジョブを追加し、1時間ごとにスケジュールすることができます。 Crontabファイルは、ターミナルで次のコマンドを実行することで開くことができます。

$crontab -e


このコマンドは、ターミナルでCrontabファイルを開きます。

ステップ5:1時間ごとに実行されるタスクをCrontabファイルに追加する

Crontabファイルを開いたら、Ctrl + Oを押して編集する必要があります。次に、次の画像で強調表示されている行をCrontabファイルに追加します。この行の0 * * * *パラメーターは、Cronデーモンに1時間に1回ジョブを実行するように指示します。この行にbashファイルのパスを書き込んで、ジョブが実行されるたびにCronデーモンがbashファイルに簡単にアクセスできるようにしました。同様に、ファイルパスを指定する代わりに、1時間ごとに実行する他のコマンドを追加することもできます。この行を追加したら、このファイルを保存して閉じることができます。

このファイルを閉じると、次の画像に示すように、Cronデーモンが新しいCrontabを自動的にインストールします。このように、ファイルに変更を加えるたびにCronデーモン自体がこのジョブを実行するため、Crontabファイルに新しいCrontabジョブを追加したことをシステムに明示的に通知する必要はありません。新しいCrontabファイルがインストールされると、ジョブは1時間ごとに実行されます。

結論

このチュートリアルでは、1時間ごとにCrontabジョブをスケジュールする簡単な方法を学びました。この記事で説明した例では、bashファイルを1時間ごとに実行するためのCrontabジョブを作成しました。まったく同じ手順に従って、Crontabジョブとして1時間ごとに実行される他のタスクを作成できます。さらに、Crontabジョブを1時間内の特定の時間、たとえば10:30、次に11:30などに実行する場合は、0分フィールドを30に変更することでこれを実行できます。このようにして、Cronデーモンを使用してジョブのスケジューリングをさらに試すことができます。