Crontabが機能しているかどうかを確認するにはどうすればよいですか?

How Do I Check If Crontab Is Working



crontabは、Linuxベースのシステムで非常に便利なジョブスケジューラであり、日常のタスクを、指定されたスケジュールで自動的に実行できるcrontabジョブに変換できます。ただし、このジョブスケジューラはバックグラウンドでサイレントに動作するため、ほとんどのユーザーはそれが動作しているかどうか疑問に思います。

システムのバックアップまたは更新のタスクをcrontabジョブスケジューラに割り当てる場合があります。これらのタスクは、コンピュータシステムの通常の動作にとって非常に重要であると考えられています。そのため、何らかの理由でそれらが見落とされた場合、システムは結果的に機能しなくなります。したがって、crontabジョブスケジューラもチェックして、実行されているかどうか、割り当てられているジョブを実行しているかどうかを常に把握しておくことが非常に重要であると考えられます。







そのため、本日の記事の目的は、Linux Mint20の使用中にcrontabが機能しているかどうかを確認する2つの方法を説明することです。



Crontabが機能しているかどうかを確認する方法

次の2つの方法を使用して、crontabが機能しているかどうかを確認できます。最初の方法は単純な方法ですが、2番目の方法は最初の方法よりもステップが多いため少し複雑です。とにかく、以下の両方の方法を説明します。



方法1:cronサービスのステータスを確認する

Cronサービスのステータスを確認してcrontabが機能しているかどうかを確認するには、次の手順を実行する必要があります。





使用しているLinuxディストリビューションでターミナルを起動します。すでに上で述べたように、Linux Mint 20を使用して、crontabが機能しているかどうかを確認する両方の方法を示しました。したがって、このLinuxディストリビューションの端末も下の画像に示しています。



Linux Mint 20でCronサービスのステータスを確認するには、次のコマンドを入力する必要があります。

$ systemctl status cron

ステータスフラグと一緒にsystemctlコマンドを実行すると、次の図に示すように、Cronサービスのステータスが確認されます。ステータスがアクティブ(実行中)の場合、crontabが完全に機能していることが確認されます。それ以外の場合はそうではありません。

私たちの場合、crontabは正常に機能していたため、上記の画像でアクティブ(実行中)ステータスを確認できました。ただし、crontabが機能していない場合は、ターミナルで次のコマンドを実行することで、いつでもこのサービスを開始できます。

$ sudo service cron start

Linux Mint 20で新しいサービスを開始するには、常にrootユーザー権限が必要です。そのため、上記のコマンドの前にsudoキーワードを指定するのを忘れると、端末にエラーメッセージが表示されます。ただし、rootユーザーアカウントにログインしている場合は、sudoキーワードがなくても問題ありません。

方法2:Crontabジョブを実行する

crontabジョブを実行してcrontabが機能しているかどうかを確認するには、次の手順を実行する必要があります。

このメソッドでは、最初にcrontabジョブとして実行するbashスクリプトを作成します。 crontabジョブが機能する場合、つまりbashスクリプトが意図したとおりに実行される場合は、crontabが完全に正常に機能していることを意味します。それ以外の場合はそうではありません。そこで、Cron.shという名前のホームディレクトリにbashファイルを作成することにしました。このファイルを作成した後、ファイルを開いて、下の画像に示すスクリプトをbashファイルに入力しました。このスクリプトは、単に端末にダミーメッセージを出力します。次に、bashファイルを保存して閉じました。

次のステップは、bashファイルを実行可能にして、crontabジョブがこのbashファイルを実行する権限を持つようにすることです。新しく作成したbashスクリプトを実行可能にするために、ターミナルで次のコマンドを実行します。

$ chmod + x Cron.sh

このコマンドを実行しても、端末に出力は表示されませんが、コントロールが返され、このコマンドが正常に実行されたことを示します。

次に、このbashファイルを実行するためのcrontabジョブを作成します。そのためには、以下に記載されているコマンドを実行して、ターミナルでcrontabファイルを開く必要があります。

$ crontab -e

crontabファイルがターミナルに表示されたら、次の画像で強調表示されている行をファイルに入力する必要があります。この行を入力すると、bashファイルを毎秒実行するcrontabジョブが作成されます。 Ctrl + Xを押してcrontabファイルを保存し、それを閉じてさらに先に進むことができるようにしました。

crontabファイルを変更したばかりなので、このファイルが閉じるとすぐに、Cronデーモンは次の画像に示すように新しいcrontabをインストールします。

crontabが正常に機能する場合は、bashスクリプトが毎秒実行されます。これを確認するには、ターミナルで次のコマンドを実行して/ var / log / syslogファイルをチェックアウトする必要があります。

$ sudo grep –a Cron.sh / var / log / syslog

このファイルには、bashファイルが実行されたすべての時間のログが含まれます。これは、下の画像に示すようにcrontabが機能していることを意味します。

結論

今日の記事では、crontabが機能しているかどうかを確認する2つの方法を説明しました。 crontabサービスのステータスを確認するだけの場合は、最初の方法で十分ですが、特定のcrontabジョブが正常に実行されているかどうかを確認する場合は、方法2を実行する必要があります。これらのメソッドはLinuxMint 20で実行されましたが、他の任意のLinuxディストリビューションを使用することもできます。