Как решить проблему с генерированием нулевого байта файла при использовании pg_dump через задание cron для регулярного резервного копирования? - PullRequest
0 голосов
/ 08 июля 2019

при создании резервной копии базы данных Postgres с помощью инструмента pg_dump в сценарии оболочки, если я планирую сценарий в cron, то создается файл резервной копии размером 0 байт.

При создании журналов ошибок с использованием 2> & 1 в задании cron генерируется следующий файл ошибок:

/ home / sample_bkp.sh: 10: /home/sample_bkp.sh: -d: не найдено каталог резервного копирования: / home / bkp / 2019_06_24_17_15 создание резервной копии базы данных phhc pg_dump: версия сервера: 9.2.4; версия pg_dump: 9.1.24 pg_dump: прерывание из-за несоответствия версии сервера pg_dump: *** прервано из-за ошибки

1 Ответ

0 голосов
/ 08 июля 2019

Ключевое сообщение выглядит следующим образом:

pg_dump: aborting because of server version mismatch

Это означает, что версия pg_dump старше, чем версия базы данных, которую вы пытаетесь сделать резервную копию.

Поскольку выскажем, что это происходит только из cron, что-то в среде должно привести к неправильному выбору pg_dump.

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

Одной простой попыткой было бы удалить старые версии PostgreSQL, которые вы больше не используете.

Другая идея - вызвать pg_dump с абсолютным путем к правильному исполняемому файлу.

...