Apache Centos 7 の daily.cron に rkhunter スクリプトを配置しました。
スクリプトを手動で実行すると正常に動作します。ただし、daily.cron に残しておくと実行に失敗します。
代わりにこのメールが毎日届きます。
/etc/cron.daily/rkhunter:
/etc/cron.daily/rkhunter: line 3: rkhunter: command not found
cron.daily を見ると、rkhunter スクリプトが見つかります。そのスクリプトの内容は次のとおりです。
#!/bin/sh
OUTPUT=`rkhunter --update --cronjob --report-warnings-only --nocolors --skip-keypress`
if [ "$OUTPUT" != "" ]
then
echo $OUTPUT | mail -s "[rkhunter] Warnings found for $(hostname)" [email protected]
fi
手動で実行する場合
sh rkhunter
そのディレクトリからは動作します。rkhunter.sh というファイル拡張子を付けてみましたが、結果は同じでした。.sh 拡張子の有無によって違いがあるかどうかはわかりません。
このスクリプトを毎日実行し、コマンドが見つからないというエラーが発生しないようにするにはどうすればよいですか。
答え1
スクリプトを実行するユーザーとして、crontab エントリを次のように編集します。
# crontab -e
次の行を追加します:
@daily /path/to/script.sh
書き込み終了(押す:wq:
:wq
/etc/cron.daily/rkhunter からスクリプトを削除します。