Делаем резервную копию БД postgres
2015, 12 июля
Изначально создаем для резервных копий папку
mkdir –p /backup/pgdump
Затем создаем файл, который будет делать копию и даем ему права на выполнения
touch backup.sh
chmod +x backup.sh
в самом файле пишем следующий код:
#!/bin/sh
#Имя БД
DBNAME=test
#Куда складываем копии
BACKUPDIR=/backup/pgdump
#Дата для имени файла
DATE=`date +%d.%m.%Y`
#удаляем файлы старше 7 дней
find $BACKUPDIR -type f -mtime +7 -delete
#Делаем резервную копию
/usr/bin/pg_dump -Ft $DBNAME | /bin/gzip > ${BACKUPDIR}/${DBNAME}_${DATE}.tar.gz
Теперь пропишем задание в cron
crontab –e
и добавляем задание, которое будет запускать наш скрипт каждую ночь в 1:30
30 1 * * * /bin/sh /путь к срипту/backup.sh
На случай если вам требуется ввод пароля для pg_dump, можно его добавить вот так
export PGPASSWORD=ваш пароль
тогда строка с дампом будет выглядеть
/usr/bin/pg_dump –U user -Ft $DBNAME | /bin/gzip > ${BACKUPDIR}/${DBNAME}_${DATE}.tar.gz
Остальные опции по мере вашей необходимости.