#admin_FAQ
7 subscribers
31 links
Download Telegram
#pg_probackup

ssh-copy-id postgres@db1-1c-prod

/opt/pgpro/ent-17/bin/pg_probackup add-instance -B /mnt/backup/db1-1c-prod -D /mnt/instance_1/ --instance=Buh_UPCB --remote-host=db1-1c-prod --remote-user=postgres

mkdir /mnt/backup/Buh_UPCB/backups
mkdir /mnt/backup/Buh_UPCB/wal

mkdir /var/log/pg_probackup/db1-1c-prod

/opt/pgpro/ent-17/bin/pg_probackup backup -B /mnt/backup/db1-1c-prod -b FULL --instance=Buh_UPCB --stream --remote-host=db1-1c-prod --remote-user=postgres -U postgres -d Buh_UPCB -p 5432 --compress-level=2 --compress-algorithm lz4 --log-filename=Buh_UPCB_backup.log --log-level-file=log --log-directory=/var/log/pg_probackup/db1-1c-prod

/opt/pgpro/ent-17/bin/pg_probackup backup -B /mnt/backup/db1-1c-prod -b DELTA --instance=Buh_UPCB --stream --remote-host=db1-1c-prod --remote-user=postgres -U postgres -d Buh_UPCB -p 5432 --compress-level=2 --compress-algorithm lz4 --log-filename=Buh_UPCB_backup.log --log-level-file=log --log-directory=/var/log/pg_probackup/db1-1c-prod

/opt/pgpro/ent-17/bin/pg_probackup show -B /mnt/backup/db1-1c-prod --instance=Buh_UPCB
#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 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