Я создал 3 ежедневных задания cron для запуска.
Ниже приведены три, которые помещаются в etc / cron.daily
rkhunter.sh
#!/bin/sh
(
rkhunter --versioncheck
rkhunter --update
rkhunter --cronjob --report-warnings-only
) | mail -s 'rkhunter Daily Run (my server)' me@email.com
rkhunter.sh
#!/bin/bash
chkrootkit | mail -s "chkrootkit Daily Run (my server)" me@email.com
logwatch.sh
#!/bin/sh
(
logwatch
) | mail -s 'logwatch Daily Log (my server)' me@email.com
Я заменил me@email.com, конечно, своим письмом. [!d8 ]
Если я запускаю этот cronjob вручную, он отлично работает ./nameoffile.sh
Но он не запускается ежедневно, что может быть причиной или как я могу проверить это?
В соответствии с этим ответом проблема связана с расширением .sh. Удалите это (например, переименуйте свой файл из rkhunter.sh в rkhunter.
Чтобы подтвердить выполнение следующей команды run-parts --test /etc/cron.daily
Если ваш скрипт (rkhunter) включен в результаты , все это хорошо. Для получения дополнительной информации о команде run-parts прочитайте man-страницы на ней man run-parts
В моей системе это было потому, что anacron не был установлен.
grep run-parts /etc/crontab
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Итак, либо установите anacron, либо удалите тест -x / usr / sbin / anacron
Я думаю, что файлы с расширениями игнорируются.
run: run-parts --test /etc/cron.daily
Если вы не видите свои сценарии, удалите расширения .sh и повторите попытку. [ ! d2]
Добавляя к ответу Stef, вы также должны убедиться, что у них есть исполняемый бит:
$ ls -l
-rwxr-xr-x 1 root root 268 Jun 1 08:06 00logwatch
-rwxr-xr-x 1 root root 311 May 22 2012 0anacron
-rwxr-xr-x 1 root root 15007 Jun 6 14:08 apt
Вы должны иметь возможность запускать их с помощью chmod +x filename.
Переименуйте свой файл, чтобы не было расширения .sh
Чтобы убедиться в этом, попробуйте
sudo run-parts --list /etc/cron.daily
, вы увидите, что его нет в списке. Поэтому запустите:
mv script.sh script
и повторите попытку. Он должен быть указан.