Проблема с crontab CentOS 7 - не обрабатываются задания

Если это приложение работает со стандартным вводом , это может сработать:

printf 'getstats\nexit\n' | ./application -login user@192.168.65.10

Если это не сработает, вы можете попробовать сценарий expect . Вы можете увидеть пример здесь .

2
08.02.2017, 12:20
1 ответ

Попробуйте заменить длинный вызов команды и перенаправленный вывод, который вы пытаетесь вызвать, сценарием, который делает то же самое, например поместите строку

/usr/local/mysql/bin/mysqldump -usomeuser -psomepassword --opt zabbix > "/backups/zabbix_mysqldb.sql_$(date +%F_%R)"

в файл сценария, скажем / root / mytestscript, сделайте его исполняемым и вызовите его в cron как

0 1 * * * root /root/mytestscript > /root/mytestscript.log 2> /root/mytestscript.err

... или, что еще лучше, включите вывод и регистрацию ошибок в тело самого mytestscript , который позволяет вам делать

0 1 * * * root /root/mytestscript

. Вы, вероятно, обнаружите, что cron поглощает stdout и stderr (или, как в классическом cron, пытается отправить вам по почте вывод). Один из двух вышеупомянутых методов вызова гарантирует, что вы увидите все журналы в предсказуемых местах.

Наконец, к вашему сведению, вставлять пароли в сценарии небезопасно, так что все это временное решение, пока вы не решите эту проблему. Попробуйте https://stackoverflow.com/questions/6861355/mysqldump-launched-by-cron-and-password-security/6861458#6861458 , чтобы получить помощь.

1
27.01.2020, 22:19

Теги

Похожие вопросы