5分ごとにコマンドを実行する

5分ごとにコマンドを実行する

私のスクリプトにはライセンス システムがあります。5 分ごとにライセンスがあるかどうかを確認したいです。

licensechecker.sh私は次のようにcrontabに追加しました。

*/5 * * * * sh /path/to/file/licensechecker.sh

しかし、動作していないようです。以下でテストしました:

*/1 * * * * reboot

しかし、私の VPS は再起動しませんでした。

ログを確認しました:

Sep 3 15:42:01 eyup CRON[23368]: (root) CMD (reboot) 
Sep 3 15:42:01 eyup CRON[23366]: (CRON) info (No MTA installed, discarding output) 
Sep 3 15:43:01 eyup CRON[23675]: (root) CMD (reboot) 
Sep 3 15:43:01 eyup CRON[23674]: (CRON) info (No MTA installed, discarding output) 
Sep 3 15:44:01 eyup CRON[24023]: (root) CMD (reboot) 
Sep 3 15:44:01 eyup CRON[24022]: (CRON) info (No MTA installed, discarding output) 
Sep 3 15:45:01 eyup CRON[24336]: (root) CMD (reboot)

答え1

CronはユーザーのPATHを使用しません。独自のハードコードされた$PATH変数があるこれは に設定されています/usr/bin:/bin。したがって、これら 2 つのディレクトリのいずれかに格納されているコマンドのみを名前で実行できます。その他すべてについては、実行可能ファイルへのフル パスが必要です。rebootコマンドは にあるため/sbin、次の行が必要です。

*/1 * * * * /sbin/reboot

ただし、この行が機能すると、マシンが毎分再起動されるため、この行を削除するのは非常に困難になるため、これは実際には良いテスト方法ではありません。代わりに、次のような安全なコマンドを使用してテストできます。

*/1 * * * * /bin/date > /tmp/date.log

そして、ファイル/tmp/date.logが作成され、そこに毎分日付が印刷されていることを確認します。

関連情報