cronコマンドのパスを設定する方法

cronコマンドのパスを設定する方法

毎週明白なメモリリークでサービスを再起動するためにcronjobを書いていましたが、killprocコマンドが見つからないというメールが届きました。

それは/sbin/killprocにあり、サービススクリプトを変更したくありませんでしたが、絶対パスを使用したいので、cronを介して修正を隠すことにしました。

したがって、私はマニュアルページで明らかに言うようにcrontabファイルの上部を設定したくありませんPATH(私のマニュアルページではなくインターネットで見た他の投稿に基づいています)。ルートのPATHを完全に圧縮するのではなく、このスクリプトのパス変数を設定するには、crontab行をどのように設定する必要がありますか?

長すぎる博士。

これが私がしたいことです。

0 0 * * 0 /etc/init.d/tic_minus restart

私が避けたいのはこのようなことです

受信者:愚か者

送信者:すべての顧客

tic_minus 停止: /etc/init.d/tic_minus: 行 43: killproc: コマンドが見つかりません

tic_minus開始:

答え1

範囲を制限するには、サブシェルを使用してください。

0 0 * * 0 (export PATH=$PATH:/sbin; /etc/init.d/tic_minus restart)

答え2

コマンドの前に cron env -version=>source env 設定を信頼しないでください。

0 0 * * 0 (. /usr/xx/myenv ; /some/cmd ) >> /usr/xx/mylog.log 2>&1

myenvには必要なすべての設定が含まれています。パスなど、エクスポートした変数を使用します。

関連情報