Создание резервной копии с использованием скрипта — различия между версиями
Материал из ЭЛЕСТА
(Новая страница: «1. Создайте скрипт<br> 1.1 Создадим файл скрипта touch /etc/pgsql-backup 1.2 Откроем файл для редактиров…») |
|||
Строка 36: | Строка 36: | ||
1.6 Создадим каталог, куда будет делаться backup | 1.6 Создадим каталог, куда будет делаться backup | ||
mkdir /etc/backup | mkdir /etc/backup | ||
− | 1.7 | + | 1.7 При выполнении скрипта будет сохраняться резервная копия схемы данных в указанный каталог |
Версия 09:52, 15 июня 2017
1. Создайте скрипт
1.1 Создадим файл скрипта
touch /etc/pgsql-backup
1.2 Откроем файл для редактирования
vi /etc/pgsql-backup
1.3 Поместим текст
#!/bin/bash # user & password PGUSER=postgres PGPASS=postgres # number of backups to be saved KEEP=14 # dir to backup DIR=/etc/backup PGPASSWORD=$PGPASS export PGPASSWORD NOW=$(date +"%Y-%m-%d") PGBASES="$(psql -U $PGUSER -lt |awk '{ print $1}' |grep -vE '^-|^List|^Name|template[0|1]')" for db in $PGBASES do BACKUPS=`find $DIR -name "$db.*.gz" | wc -l | sed 's/\ //g'` while [ $BACKUPS -ge $KEEP ] do ls -tr1 $DIR/$db.*.gz | head -n 1 | xargs rm -f BACKUPS=`expr $BACKUPS - 1` done FILE=$DIR/$db.$NOW-$(date +"%T").sql.gz pg_dump -U $PGUSER $db | gzip -c > $FILE done PGPASSWORD= export PGPASSWORD exit 0
1.4 Сохраним его
1.5 Дадим права на выполнение
chmod +x /etc/pgsql-backup
1.6 Создадим каталог, куда будет делаться backup
mkdir /etc/backup
1.7 При выполнении скрипта будет сохраняться резервная копия схемы данных в указанный каталог