pg_dump, pg_dumpall, crontab

Сегодня разбирался с проблемой бэкапа PostgreSQL-базы под debian’ом. Понятно, что с помощью cron’а можно назначить регулярное выполнение скрипта, но вот незадача: и pg_dump, и pg_dumpall (будучи запущенными из-под root’а) всегда запрашивают пароль, который, конечно же, можно было бы передать явно, но тогда пришлось бы его хранить в открытом виде, что не есть гуд.
Но ведь есть unix-пользователь postgres, который при наличии в pg_hba.conf строчки:

local all postgres ident sameuser

не требует авторизации с localhost для выполнения операций с СУБД. Простенький скрипт:

#!/bin/sh
FNAME=date "+%Y%d%Y%H%M%S".pgdump
/usr/bin/pg_dumpall --database=ИмяБазы --file=ПутьКЛогам/$FNAME
gzip ПутьКЛогам/$FNAME

затем

crontab -upostgres -e

а там:

0 * * * * ПутьКСкрипту/dump_pgsql.sh

и ежечасный бэкап работает.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *