
とりわけ、以下を使用してIPSecトンネルの状態を確認するサーバー監視スクリプトがあります。
ipsec auto --status
コンソール(root)で実行すると魅力のように動作しますが、(root)cronjobで実行するとすぐにコマンドが失敗します。出力がまったくありません。
私は次のような単純なルートcronjobを作ってみました。
*/1 * * * * ipsec auto --status > /tmp/ipsec.txt
これがすることは空の/tmp/ipsec.txtファイルを生成するだけです!
注:スクリプトの他のすべての操作(ネットワークとデータベースへのアクセスを含む)は正しく機能します。
どんな光でも大歓迎です。
答え1
道から見たcron
ようではないですね。ipsec
crontabにバイナリファイルの絶対パスを含めることは非常に良い習慣です。/var/log/messages
または苦情があるかもしれません/var/log/cron
。
*/1 * * * * /usr/sbin/ipsec auto --status
PATH
crontabの上部に環境変数を追加することもできます。これはPATH
crontabのすべての操作に適用されます。
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:
*/1 * * * * /usr/sbin/ipsec auto --status