Я пытаюсь настроить ежедневное резервное копирование моей базы данных postgres. Для этого я создал каталог /home /backups и внутри него каталог /home /backups /postgres. Владельцем /home/backups/postgres является postgres , который также является группой каталога.

Теперь я пытаюсь запустить pg_dumpall > /home/backups/postgres/database.bak .

Когда я запускаю sudo -u postgres pg_dumpall ... Я получаю ошибку "Отказано в разрешении". Однако когда я запускаю sudo su postgres а затем pg_dumpall ... , он работает нормально.

Что здесь происходит?

1 ответ1

1

Если вы запускаете:

sudo -u postgres pg_dumpall > /home/backups/postgres/database.bak

Затем pg_dumpall работает от имени этого пользователя. Но редирект все еще работает как ты. Вероятно, именно отсюда и permission denied ваше разрешение , а не команда. Если вы перенаправляете в /tmp/dump.out , это работает?

В противном случае вам может понадобиться

sudo -u postgres bash -c "pg_dumpall > /home/backups/postgres/database.bak"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .