У меня проблемы с попыткой создать скрипт для автоматического резервного копирования моей базы данных моего приложения django.
Вот как я создаю базу данных для своего приложения:
sudo -u postgres psql
CREATE DATABASE dapp;
CREATE USER backupu WITH PASSWORD 'pass123';
ALTER ROLE backupu SET client_encoding TO 'utf8';
ALTER ROLE backupu SET default_transaction_isolation TO 'read committed';
ALTER ROLE backupu SET timezone TO 'UTC';
GRANT ALL PRIVILEGES ON DATABASE dapp TO backupu;
\q
И это мой сценарий резервного копирования, backup.sh с chmod 777:
export PGUSER='backupu'
export PGPASSWORD='pass123'
TODAY=`date +%Y-%m-%d`
TIME_NOW=`date +%H:%M`
ARCH_RESP=$TODAY-$TIME_NOW
pg_dump dentalapp > /home/backupu/backup/backup_$ARCH_RESP.sql
find /home/backupu/backup/ -name '*.sql' -mtime +2 -exec rm -f {} \;
unset PGUSER
unset PGPASSWORD
Но когда я запускаю его, я получаю эту ошибку:
pg_dump: запрос [архиватора (db)] завершился неудачно: ОШИБКА: отказано в разрешении для отношения django_migrations pg_dump: запрос [архиватора (db)] был: ТАБЛИЦА БЛОКИРОВКИ public.django_migrations В РЕЖИМЕ ДОСТУПА ОБМЕНА
а также:
соединение с базой данных «dapp» не удалось: FATAL: не удалось выполнить аутентификацию однорангового узла для пользователя «backupu»
Я попытался добавить эту строку в свой pg_hba.conf
local all backupu md5
Но ошибка сохраняется, возможно, некоторые разрешения отсутствуют или мне нужен дополнительный шаг при создании своей базы данных. Я уже проверял другой пост здесь, в stackoverflow, но тоже безуспешно. Можете ли вы мне помочь?
Я запускаю локальный сервер с ubuntu 14.04, nginx, gunicorn и postgresql 9.3