На этот вопрос уже есть ответ здесь:
Я вставил сценарий rkhunter в daily.cron на Apache Centos 7.
Когда я вручную запускаю сценарий, он работает нормально. но оставив его в 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@example.com
fi
если я вручную запустил
sh rkhunter
из этого каталога, он работает. Я пытался использовать расширение файла rkhunter.sh, но результат был тот же, поэтому с расширением .sh или без него я не конечно, это имеет значение.
Как мне заставить этот скрипт запускаться ежедневно и не давать сбоев, если команда не найдена.
Отредактируйте запись в crontab так, как пользователь, который должен запускать скрипт:
# crontab -e
Добавьте эту строку:
@daily /path/to/script.sh
Запишите и выйти (нажмите : wq :
:wq
Удалите сценарий из /etc/cron.daily/rkhunter.