Cronjob не запускается. Аналогичная cronjob работает. Проблема с Env Vars ??? Fedora задействована. вовлечен psql [дубликат]

У меня есть подобные cronjobs

* * * * * /usr/bin/psql -U usename dbname -c "select usename, now(), pg_terminate_backend(pid) from pg_stat_activity where state like 'idle%' and (now() - query_start) > interval '2 hour';" &> /home/fedora/terminate_backend.log
* * * * * /usr/bin/psql -U usename dbname -c "vacuum analyze;" &> /home/fedora/vacuum.log

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

Я попытался добавить впереди / usr / bin / echo "DUMB"> /home/fedora/dumb.log;, но по-прежнему ничего не появляется.

Похоже, что так

* * * * * /usr/bin/echo "DUMB" > /home/fedora/dumb.log; /usr/bin/psql -U usename dbname -c "select usename, now(), pg_terminate_backend(pid) from pg_stat_activity where state like 'idle%' and (now() - query_start) > interval '2 hour';" &> /home/fedora/terminate_backend.log

Любая помощь приветствуется. Может быть, это как-то связано с env vars? Если посмотреть в env и попытаться добавить хост 127.0.0.1, ничего. Кстати, вакуумный работает, так что ...

-1
задан 8 March 2016 в 22:29
1 ответ

Ответ - в Почему мой кронтаб не работает, и как я могу его устранить? , но чтобы перейти к делу, это % . Из man 5 crontab:

   The entire command portion of the line, up to a newline or a  "%"
   character, will be executed by /bin/sh or by the shell specified in the
   SHELL variable of the cronfile.  A "%" character in the command, unless
   escaped  with a backslash (\), will be changed into newline characters,
   and all data after the first % will be sent to the command as  standard
   input.

Вход crontab, имеющий % усекается (а остальное становится stdin), поэтому команда не работает и перенаправление теряется.

.
0
ответ дан 5 December 2019 в 20:29

Теги

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