Олег Букатчук

Скрипт экспорта БД из PostgreSQL 9.x

Янв
20

Простое решения для ежедневного резервного копирования удаленной или локальной базы данных PostgreSQL.

#!/bin/bash

# Скрипт экспорта БД из PostgreSQL 9.x
# Автор: Олег Букатчук
# Версия: 0.1
# e-mail: oleg@bukatchuk.com

# Создаём константу для подключеня к базе данных.
export CONNECT_DB=postgresql://password:login@127.0.0.1:5432/database

# Создаём дамп базы данных, архивируем и называем бекап текущей датой.
pg_dump --dbname=$CONNECT_DB | gzip > /path/to/folder/$(date +%Y-%m-%d).gz

# Ищем файлы старше 7 дней и удаляем их.
find /path/to/folder -type f -mtime +7 -exec rm -f {} \;

# Ставим скрипт на выполнение (из консоли) в 1 час 00 минут после полуночи ежедневно:
# crontab -l > backup && echo "0 1 * * * /path/to/file/backup_daily.sh" >> backup

# Cron шпаргалка:
# * * * * * "/команда/которая/будет/выполнена"
# - - - - -
# | | | | |
# | | | | ----- День недели (0 - 7) (Воскресенье=0 или 7, 0-Вс,1-Пн,2-Вт,3-Ср,4-Чт,5-Пт,6-Сб,7-Вс)
# | | | ------- Месяц (1 - 12)
# | | --------- Число (1 - 31)
# | ----------- Часы (0 - 23)
# ------------- Минуты (0 - 59)