Создание резервной копии с использованием скрипта — различия между версиями
Материал из ЭЛЕСТА
Строка 1: | Строка 1: | ||
1. Создадим файл скрипта | 1. Создадим файл скрипта | ||
− | touch /etc/pgsql-backup | + | touch /etc/pgsql-backup.sh |
2. Откроем файл для редактирования | 2. Откроем файл для редактирования | ||
− | vi /etc/pgsql-backup | + | vi /etc/pgsql-backup.sh |
3. Поместим текст | 3. Поместим текст | ||
#!/bin/bash | #!/bin/bash | ||
Строка 40: | Строка 40: | ||
4. Сохраним его<br> | 4. Сохраним его<br> | ||
5. Дадим права на выполнение | 5. Дадим права на выполнение | ||
− | chmod +x /etc/pgsql-backup | + | chmod +x /etc/pgsql-backup.sh |
6. Создадим каталог, куда будет делаться backup | 6. Создадим каталог, куда будет делаться backup | ||
mkdir /etc/backup | mkdir /etc/backup | ||
7. При выполнении скрипта будет сохраняться резервная копия схемы данных в указанный каталог | 7. При выполнении скрипта будет сохраняться резервная копия схемы данных в указанный каталог |
Версия 11:25, 27 ноября 2017
1. Создадим файл скрипта
touch /etc/pgsql-backup.sh
2. Откроем файл для редактирования
vi /etc/pgsql-backup.sh
3. Поместим текст
#!/bin/bash PGUSER=postgres PGPASS=postgres KEEP=14 DIR=/etc/backup PGPASSWORD=$PGPASS export PGPASSWORD NOW=$(date +"%Y-%m-%d") PGBASES="jupiter" do BACKUPS=`find $DIR -name "$PGBASES.*.gz" | wc -l | sed 's/\ //g'` while [ $BACKUPS -ge $KEEP ] do ls -tr1 $DIR/$PGBASES.*.gz | head -n 1 | xargs rm -f BACKUPS=`expr $BACKUPS - 1` done FILE=$DIR/$PGBASES.$NOW-$(date +"%T").backup.gz pg_dump -U $PGUSER $PGBASES | gzip -c > $FILE done PGPASSWORD= export PGPASSWORD exit 0
PGUSER=postgres
- Имя пользователя
PGPASS=postgres
- Пароль для доступа к базе данных
KEEP=14
- Количество бэкапов, которое требуется сохранять
DIR=/etc/backup
- Каталог, куда сохранять бэкапы
NOW=$(date +"%Y-%m-%d")
- Формат записи даты и времени бэкапа
PGBASES="jupiter"
- Имя базы данных
BACKUPS=`find $DIR -name "$PGBASES.*.gz" | wc -l | sed 's/\ //g'`
FILE=$DIR/$PGBASES.$NOW-$(date +"%T").backup.gz
pg_dump -U $PGUSER $PGBASES | gzip -c > $FILE
- Выходной файл с сжатием
4. Сохраним его
5. Дадим права на выполнение
chmod +x /etc/pgsql-backup.sh
6. Создадим каталог, куда будет делаться backup
mkdir /etc/backup
7. При выполнении скрипта будет сохраняться резервная копия схемы данных в указанный каталог