#admin_FAQ
#linux #Удалить все, кроме 5 (или любого другого количества) последних файлов в каталоге. rm `ls -t | awk 'NR>5'` #Удалить все, кроме 5 (или любого другого количества) последних каталогов в каталоге. rm -rf /mnt/data/backup_old/test/`ls /mnt/data/backup_old/test/…
#pg_probackup
#s3
#резервное копирование postgres
Скрипт создания резервной копии БД postgres с помощью утилиты pg_probackup на хранилище s3
Использование:
probackup_backup_S3_mybase.sh
количество полных копий в каталоге:
возможность восстановления в днях:
Файл конфигурации s3-хранилища:
#s3
#резервное копирование postgres
Скрипт создания резервной копии БД postgres с помощью утилиты pg_probackup на хранилище s3
Использование:
probackup_backup_S3_mybase.sh DELTA
probackup_backup_S3_mybase.sh FULL
probackup_backup_S3_mybase.sh FULL month
probackup_backup_S3_mybase.sh
#!/bin/bash
my_db='mybase'
my_instance='myinstance'
restore_host='db1-1c-prod.mydomain.ru'
#type_bak='DELTA'
#type_bak='FULL'
type_bak="$1"
remote_user='postgres'
my_user='postgres'
if [[ "$2" == "month" ]]; then
backup_dir='/ --s3=minio --s3-config-file=/home/backup/scripts/s3-conf/month.s3'
else
backup_dir='/ --s3=minio --s3-config-file=/home/backup/scripts/s3-conf/mybase.s3'
/opt/pgpro/ent-17/bin/pg_probackup set-config \
-B ${backup_dir} \
--instance=${my_instance} \
--retention-redundancy=2 \
--retention-window=31
fi
/opt/pgpro/ent-17/bin/pg_probackup backup \
-b ${type_bak} \
-B ${backup_dir} \
--instance=${my_instance} \
-d ${my_db} \
--remote-host=${restore_host} \
--remote-user=${remote_user} \
-U ${my_user} \
--stream \
--delete-expired \
--compress-level=2 \
--compress-algorithm lz4
количество полных копий в каталоге:
retention-redundancy=2
возможность восстановления в днях:
retention-window=31
Файл конфигурации s3-хранилища:
access-key = xxxxxxxxxxxxxxxxxxx
secret-key = xxxxxxxxxxxxxxxxxxx
s3-host = s3db.mydomain.ru
s3-port = 9000
s3-bucket = month
s3-buffer-size = 32
s3-secure = https