cron で `/usr/sbin/` バイナリを実行するにはどうすればよいですか?

cron で `/usr/sbin/` バイナリを実行するにはどうすればよいですか?

ルートとして、crontab -eスクリプトを追加するために使用しました。ただし、スクリプトはバイナリを使用しており/usr/sbin/、スクリプトが cron から実行されると、バイナリが存在しないというエラーが発生します。これを修正するにはどうすればよいですか?

答え1

バイナリのフルパスを使用する必要があります。

では、cron ジョブで使用したいとしますipconfig。crontab に次のようなコマンドを記述する代わりに:

ipconfig

これを次のように変更します。

/usr/sbin/ipconfig

覚えておいてください: シェル パスは、コマンド ラインからバイナリ/実行可能ファイルを呼び出すときに、それらの場所をシステムに指示するだけで、コマンドの入力が簡単になります。バイナリ/実行可能ファイルの完全なパスを指定すると、スクリプトの使用時に 100% 同じように機能します。

答え2

おそらく最もクリーンなアプローチではないが、

crontabでPATH変数を設定するには、これをcrontabの最初の行に記述します。

# start of crontab file
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# your cron entries below

関連情報