postgrespro / pg_probackup

Backup and recovery manager for PostgreSQL
https://postgrespro.github.io/pg_probackup/
Other
703 stars 86 forks source link

backup.control ошибка назначения прав #603

Open danvernsk opened 1 year ago

danvernsk commented 1 year ago

При создании резервных копий рабочих серверов с помощью pg_probackup 14.7 методом full и stream периодически в копиях у файла backup.control владелец оказывается root, из за этого следующее задание не выполняется. Остальные файлы в копии с нужными правами. Откуда может взяться этот root, если резервирование делается скриптом от имени postgres? Если в такой копии переназначить права вручную, всё снова работает. Выглядит вот так:

-rw------- 1 postgres postgres 187630212 июн 24 03:39 backup_content.control -rw------- 1 root root 840 июл 4 09:20 backup.control drwx------ 20 postgres postgres 4096 июн 24 03:38 database -rw------- 1 postgres postgres 106347338 июн 24 03:38 page_header_map

Как исправить?

fukanchik commented 1 year ago

Скорее всего Вы вызывали операцию merge от имени пользователя root.

danvernsk commented 1 year ago

Проверил ещё раз, нет нигде рута. Вот кронтаб: 01 12 * * 1-5 postgres bash /var/command/pgBack/pgback.sh 15 20 * * 1-4 postgres bash /var/command/pgBack/pgback.sh

Команда из скрипта, создающая резервные копии: pg_probackup-14 backup --instance=$srv --backup-mode=$mode --compress -j 8 --stream --pguser=backup --pgdatabase=backup --remote-host=$srv --remote-user=postgres -B /media/s1/ --retention-window=30 --retention-redundancy=4 --delete-expired --merge-expired Всё правильно работает почти всегда, но иногда появляется этот рут.

fukanchik commented 1 year ago

Вы сохраняете логи запусков мёржа? Попробуйте поискать в них что-то необычное.