Linuxでcronが機能しているかどうかを確認する4つの方法

Linuxでcronが機能しているかどうかを確認する4つの方法

cron は、Linux および Unix ライクなオペレーティング システム用のジョブ スケジューラです。すべての Linux ディストリビューションにプリインストールされており、反復タスクの自動化に最適です。

cron が正しく機能するためには、ユーティリティがシステム上で正常に動作していることを定期的に確認する必要があります。これには、cron サービスのステータスの確認、cron ログの調査、テスト cron ジョブの実行、システムで実行中のプロセスの一覧表示など、4 つの異なる方法があります。

クローンとは?

サイレント ジョブ ハンドラである cron は、システム タスクを自動化し、スケジュールします。ソフトウェア環境を構成および保守するユーザーは、cron を使用して、コマンドやシェル スクリプトなどのジョブ (cron ジョブとも呼ばれます) をスケジュールし、一定の時間または間隔で定期的に実行します。

cron は、頻繁に実行する必要があるシステム メンテナンスまたは管理タスクを自動化します。

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

cron が正常に動作しているかどうかを確認する方法のいくつかを次に示します。

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

cron が機能しているかどうかを確認する 1 つの方法は、基本的な Linux コマンドを実行して cron サービスのステータスを確認することです。Ctrl + Alt + Tを押して Linux ターミナルを開き、systemctl コマンドを使用して cron のステータスを確認します。

sudo systemctl status cron

次の出力が表示された場合、これは cron がアクティブであり、システムで正常に動作していることを意味します。

ubuntu端末に表示されるcronステータス

しかし、以下に示すように cron が非アクティブな状態にある場合はどうなるでしょうか。

ubuntuでcronサービスが停止しました

次のようにサービスを開始できます。

sudo service cron start

cron サービスを開始したら、システムが再起動するたびに開始されるように有効にします。

sudo service cron enable

方法 2: Linux で cron ログを確認する

cron が正常に動作しているかどうかを確認する別の方法は、ログ ファイルを調べることです。cron ログは、Linux の/var/log/syslogディレクトリに保存されます。

syslog は、Linux システムがイベント データ ログを一元化するために使用するプロトコルです。その後、ログにアクセスして、監査、監視、トラブルシューティング、レポート、およびその他の必要な IT 運用タスクを実行します。

次のコマンドを実行すると、syslog ファイルで cron ジョブのログを確認できます。

grep CRON /var/log/syslog

cron が正常に実行されており、そのログがログ ファイルに保存されていることを示す同様の出力が表示されます。

ubuntu端末に表示されるcronログ

syslog フォルダには cron ログとともに他のシステム ログが含まれているため、ファイル内の cron 関連のログだけを調べるのは少し難しい場合があります。これは、syslog ファイルに表示される cron エントリのみを保存する別のログ ファイルを作成することで解決できます。

これを行うには、nano エディターを使用して次のファイルを開きます。

nano /etc/rsyslog.d/50-default.conf

次で始まる行を見つけます。

#cron.*

ハッシュ ( # ) 記号を削除して、この行のコメントを解除します。次に、 Ctrl + Xを押してファイルを保存して終了し、Yを押してEnterを押します。

次のコマンドを発行して、rsyslog サービスを再起動します。

sudo service rsyslog restart

/var/logディレクトリにあるcron.logファイルでログを受け取るようになります。

ターミナルがログを取得できない場合は、cron が実行されていない可能性があります。その場合は、cron が動作しているか、他の方法を使用していないかを確認してください。

方法 3: Linux で cron ジョブを実行する

テスト cron ジョブを作成して実行するだけで、cron が機能しているかどうかを確認することもできます。ジョブがタスクの実行に成功した場合、これは正常に機能していることを意味します。

最初に Bash スクリプトを作成する必要があります。Bash スクリプトを使用すると、Linux での日常的なタスクを自動化できます。

「私の cronjob is working!」を出力する Bash スクリプトを作成しましょう。TXTファイルに。ファイルを作成するには、まず、次のコマンドを使用して現在の作業ディレクトリを見つけます。

pwd

touch コマンドを使用して、現在のディレクトリにファイルを作成します。

touch file.txt

この後、nano を使用して Bash ファイルを作成します。

nano script.sh

次の内容をファイルに追加します。

#! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.txt

cronjob 用に作成された bash.sh スクリプト

作成したテキスト ファイルの正しい場所を指定してください。Ctrl + X、次にYを押してファイルを保存して終了し、Enter押します。

Bash スクリプトに実行権限を付与します。

chmod +x script.sh

次に、スクリプトを実行するための cron ジョブを作成します。これを行うには、次のように crontab ファイルを開きます。

crontab -e

ファイルの最後に次の行を入力します。

* * * * * /path/to/script.sh

5 つのアスタリスクは実行時刻と一致します。最初のアスタリスクは分を表し、2 番目のアスタリスクは時間を表し、3 番目のアスタリスクは日を表し、4 番目のアスタリスクは月を表し、最後のアスタリスクは年を表します。

実行可能ファイルの名前とそのパスもファイルに記載されています。

ファイルを保存して閉じると、端末に「crontab: installation new crontab」というメッセージが表示されます。

cron ジョブが機能したかどうかを確認するには、file.txtのディレクトリに移動し、 cat を使用して端末にその内容を出力します。

cat file.txt

テキストファイルの内容を表示するubuntu端末

これは、cron が正常に動作していることを示しています。

方法 4: Linux で実行中のプロセスを確認する

cron デーモンが動作しているかどうかを確認する別の方法は、システムで実行中のプロセスを一覧表示することです。これは、ps コマンドを使用して実現できます。cron デーモンは、出力に crond として表示されます。

ps -ef | grep crond

crond プロセスが実行中であることを示す ubuntu ターミナル

これにより、Linux システムで cron プロセスが実行されていることが確認されます。

cron によるシステム タスクの自動化とスケジュール設定

cron は、システムを効率的に実行できるようにする、Linux で最も重要なユーティリティの 1 つです。システムの問題のトラブルシューティング中に、cron が機能しているかどうかを確認する必要がある場合があります。

これは、cron ログを確認するか、システムで実行中のプロセスを確認することで実現できます。systemctl ユーティリティを使用して cron ステータスを確認することもできます。それに加えて、テスト cron ジョブを実行すると、サービスが実行されているかどうかもわかります。

cron のスムーズな動作により、毎日のシステム ジョブの自動化とスケジュール設定が可能になります。ほとんどの cron ジョブは、インストールされたアプリケーションによって自動的に作成されます。タスクの自動化とスケジューリングにより、システム全体のパフォーマンスが向上し、健全性が維持されます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です