Crontab пропускает pg_restore, если в архиве есть ошибки sql - PullRequest
0 голосов
/ 18 августа 2011

У меня странная проблема с cron, которая пропускает команду pg_restore (Postgres Restore) в файле сценария и не сообщает о каких-либо ошибках в файле журнала, даже если включен stderr. Может ли кто-нибудь помочь, что я делаю неправильно?

Обновление: Добавлена ​​информация о распространении и Cron,

Я использую дистрибутив CentOS версии 5.4 (Final) с 64-битным пакетом, и моя задача cron:

51 14 * * * /opt/scripts/test.sh 2>&1  >> /opt/logs/test.txt

Примечание. Это происходит, если в резервном архиве (*. Tar) есть ошибки, но он восстанавливается, если я запускаю сценарий вручную.

Спасибо
Картик

Ответы [ 2 ]

1 голос
/ 22 августа 2011

Скорее всего, вы должны указать абсолютный полный путь к команде pg_restore.

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

Это пункт часто задаваемых вопросов, поскольку задания cron выполняются в ограниченной среде, а переменная PATH может быть установлена ​​для других целей (или даже может быть не установлена)

0 голосов
/ 13 октября 2011

Проблема связана с версией postgres и установленным CentOS, потому что я использовал внешний репозиторий для загрузки последней версии postgres и узнал, что всегда лучше всего скачивать версию postgres, поддерживаемую и проверенную командой centos только из того же репозитория. 1001 *

...