Создание резервной копии с использованием скрипта — различия между версиями

Материал из ЭЛЕСТА
Перейти к: навигация, поиск
(Новая страница: «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 При выполнении скрипта будет сохраняться резервная копия схемы данных в указанный каталог