すべての設定が正しいが、Cronジョブは実行されません。

すべての設定が正しいが、Cronジョブは実行されません。

このcron tqskは機能しません。

[main_usr@localhost ~]$ sudo crontab -l  -u root
0 * * * * /home/main_usr/cron_test1.sh > /home/main_usr/cron_test1_out.sh.out 2>&1

[main_usr@localhost ~]$ 

そして

$ ls -al cron_test1.sh
-rwxr-xr-x 1 main_usr main_usr 293 Apr  8 05:12 cron_test1.sh

ご覧のとおり、cronジョブに新しい行があります。ファイルが存在し実行可能です。これは一日前に作成されました。毎時間実行する必要があります。それにもかかわらず、「cron_test1_out.sh.out」はまだ作成されていません。

なぜ?

ベストアンサー1

Cronジョブは/ bin / shと空の環境を使用して実行されるため、bash構成ファイルまたは他の環境ファイルをインポートする必要がある場合、またはcronファイルに環境変数を含めることもできます。通常、PATHは最大の犯罪者です。デフォルトでは、パスは/ usr / bin:/ binに設定されているため、スクリプトがこれら2つのディレクトリになくフルパスを持たない実行可能ファイルを参照すると、cronは失敗します。次のように、単純なKEY = VALUEを使用してcrontabで環境変数を設定できます。

PATH=/usr/bin:/bin:/usr/local/bin

おすすめ記事