Всех с прошедими и настпупающими . Уважаемые гуру научите плохому.
установлена 1с 8 на посгри на linux. все устраивает, но надо настроить бэкап. написал небольшой скрипт
#!/bin/sh
#
BackUpDir="home/user/backup1c/"
DateName='date +%d.%m.%Y-%H.%M'
cd $backUpDir
echo Начато резервное копирование базы данных
pg_dump -Fc -U postgres "workdb" > $DateName.workdb.backup
echo Резервное копирование завершено
дал вот такие на него права
итого 4
-rwxrwxrwx 1 postgres chkpwd 299 2011-12-29 16:38 backup.sh*
но при выполнений вываливается ошибка.
Начато резервное копирование базы данных
pg_dump: [архиватор (db)] не удалось переподсоединиться к базе "workdb": FATAL: Ident authentication failed for user "postgres"
Резервное копирование завершено
подскажите в какую сторону копать. что сделал не так ??
Вы не предоставили права
Вы не предоставили права доступа к БД тому пользователю, от которого делаете бакап.
Копайте файл pg_hba.conf
вот содержимое. # TYPE
вот содержимое.
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
#host all all 127.0.0.1/32 ident sameuser
# IPv6 local connections:
#host all all 1/128 ident sameuser
host all all 0.0.0.0/0 md5
насколько понял из манов.
последнюю строчку удаляем.
Ipv4 раскометируем. должно получится следущее
host all / имя базы к которой ходим предоставить доступ/ all / имя пользователя которому предосталяем доступ к базе или базам/ 127.0.0.1 / либо локально либо указываем ип адрес компа или локалки с которой можно подключится к базе или базам /
должно получится примерно так
host all all 127.0.0.1 md5
Ну если вы выбрали md5, то
Ну если вы выбрали md5, то вам осталось понять где же вы вводите пароль при вызове pg_dump
ну если выбрать trust то
ну если выбрать trust то насколько понимаю к базе/базам можно будет подключится без пароля.
или я не прав ???
Вы правы. Поэтому trust имеет
Вы правы. Поэтому trust имеет смысл выбирать для localhost. Вы же не пустите никого работать за сам сервер, а с клиентов обломаются.
Нет, разумеется вы можете выбрать password, поключаться пользователем postgres, указывая пароль в переменной окружения PGPASSWORD или использовать другие способы задания паролей - всё кстати описано в доках, решать вам.
то есть если я правильно поял
то есть если я правильно поял ,то в конфиге можно указатьдве строчки host . одну сделть для локалхост + trust . а вторую для сети но уже с паролем.
Совершенно верно
Совершенно верно
спс за помощь. скрипт
спс за помощь.
скрипт работает. pg_hba.conf поправил, но бекап создается вот такой " 2012-01-20 09:59 date +%d.%m.%Y-%H.%M.workdb.backup" почему не с датой и временем создания бекапа ?? где неправильно написано
Учите shell. Для подстановки
Учите shell. Для подстановки значений необходимо использовать ОБРАТНЫЕ апострофы, а формат даты заключается в ДВОЙНЫЕ кавычки
спс за подсказку. поправил
спс за подсказку. поправил скрипт.
но теперь возника вопрос. подскажите пож-та
2 - народ подсказал что разворачивать бекап надо в не в существующую базу а в новую. насколько это верно.
А это зависит от целей
А это зависит от целей "разворота"
Если вы не хотите затереть существующие данные (например, чтобы после поднятия бакапа убедиться, что данные бакапа точно не хуже существующих), имеет смысл поднять другую БД, чтобы потом можно было сравнить. В остальные случаях, не вижу смысла.
А вообще вчера закончил перевод главы Резервное копирование и восстановление. Очень рекомендую ознакомиться.