เบเบฐเบเบดเปเบชเบเบเบงเบฒเบกเบฎเบฑเบเบเบดเบเบเบญเบ
เบเปเบญเบเปเบเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒ. เบเปเบญเบเบเบฝเบเบฅเบฐเบซเบฑเบเปเบฅเบฐเบเบปเบงเบเบฑเบเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบเบเบฝเบเปเบเปเปเบเบฑเบเบเบนเปเปเบเป. เปเบเบเบฒเบเปเบเบเปเปเบเบฒเบก, เบเปเบญเบเบเบฐเบเปเบฒเบเปเบฒเปเบเบฑเบเบเบนเปเปเบเบดเปเบเปเบเบเบฅเบฐเบเบปเบ, เบซเบเปเบญเบเบเบงเปเบฒ dba. เปเบเปโฆ
เบกเบฑเบเปเบเบตเบเบเบถเปเบเบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฑเบเปเบเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบเบญเบเบเบฒเบเบเปเปเบกเบนเบ postgresql. เบเปเปเบกเบตเปเบกเบ - เบเบฝเบเปเบเปเปเบเป SSH เปเบฅเบฐเปเบซเปเปเบเปเปเบเบงเปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบเบเบเปเปเบเปเบญเบเบฎเปเบญเบเบเปเปเบเบดเบ. เบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบเปเบเบงเปเบเปเบเบเปเบฅเบฐเบเบตเบเบตเป? เบเบฑเปเบเปเบกเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบนเป pgdump เปเบเบปเปเบฒเปเบเปเบ cron, เบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบเปเบเปเบกเบเบฑเบเปเบเบฑเบเบเบธเบเปเบกเบทเป, เปเบฅเบฐเบเปเบฒเบเบงเบเปเบฎเบปเบฒเบชเบนเบเปเบชเบเบซเบกเบปเบ, เบเบงเบเปเบฎเบปเบฒเบชเบปเปเบเปเบเปเบกเปเบเบฑเบเบกเปเบฝเบเบเบตเปเบขเบนเปเบเปเบญเบเปเบ.
เปเบงเบฅเบฒเบเบตเปเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเปเบกเปเบเบงเปเบฒเบญเบตเบเบเบฒเบกเปเบเบเบเบฒเบ, เบเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบงเปเบฒเบเบฐเปเบเบตเบเปเบเบเบฐเบกเบฒเบ +- 100 MB เบเปเปเบกเบทเป. เปเบเปเบเบญเบ, เบซเบผเบฑเบเบเบฒเบเบชเบญเบเบชเบฒเบกเบญเบฒเบเบดเบเบเบงเบฒเบกเบเบฒเบเบฐเบซเบเบฒเบเบตเปเบเบฐเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฑเบ pgdump เบเบฐเบซเบฒเบเปเบ. เบเบตเปโเปเบกเปเบโเบเปเบญเบโเบเบตเปโเบเบฒเบโเบชเปเบฒโเบฎเบญเบโเบเปเปโเบกเบนเบโเปเบเบตเปเบกโเบเบถเปเบโเบกเบฒโเบเบฑเบโเบเบฒเบโเบเบนเปโเปเบโ.
เบซเบเปเบฒเบชเบปเบเปเบ? เบเบดเบเบเบตเบเปเบญเบเบฎเบฑเบ cat.
Incremental backup เปเบกเปเบเบเบฐเปเบเบเบเบญเบเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเปเบเปเบงเบฅเบฒเบเบตเปเบเปเปเปเบกเปเบเปเบเบฅเปเปเบซเบผเปเบเบเบฑเบเบซเบกเบปเบเบเบทเบเบเบฑเบเบฅเบญเบ, เปเบเปเบงเปเบฒเบเบฝเบเปเบเปเบญเบฑเบเปเบซเบกเปเปเบฅเบฐเบชเบดเปเบเบเบตเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบเบฑเบเบเบฑเปเบเปเบเปเบเบฒเบเบชเปเบฒเบเบชเปเบฒเปเบเบปเบฒเบเบตเปเบเปเบฒเบเบกเบฒ.
เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบนเปเบเบตเปเบเปเปเปเบเบฑเบกเปเบเบขเปเบฒเบเปเบเปเบเบดเบ (เปเบเปเบงเบฅเบฒเบเบฑเปเบ) เบเบตเปเบเบฐเปเบเบปเปเบฒเปเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบเบญเบ postgres, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเบญเบเบเบฒเบเบเบญเบเบซเบฒเบเบธเปเบกเบชเบตเบเบฝเบง. เบเบต, เบเปเบฒเบเบฎเบนเป, เปเบเบฑเปเบเปเบ AWS, DigitalOcean: เบเปเบฒเบเปเบเปเบเบปเบเบเบธเปเบกเบซเบเบถเปเบ - เบเปเบฒเบเปเบเปเบฎเบฑเบ replication, เบเปเบฒเบเปเบเปเบเบปเบเบเบตเบชเบญเบ - เบเปเบฒเบเบเบฑเปเบเบเปเบฒเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบ, เบเบตเบชเบฒเบก - เบเปเบฒเบเบกเปเบงเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฑเบเบเบทเบเปเบเบเปเบญเบเบชเบญเบเบชเบฒเบกเบเบปเปเบงเปเบกเบ. เบเปเบญเบเบเปเปเบเบปเบเบเบธเปเบกเบซเบผเบทเปเบเบทเปเบญเบเบกเบท GUI เบเบตเปเบชเบงเบเบเบฒเบก. เบเปเบฒเบเปเบฒเบเบฎเบนเปเบเบฑเบเบซเบเบถเปเบ (เบเบฃเบตเบซเบผเบทเบฅเบฒเบเบฒเบเบทเบ), เบเบฝเบเบเปเบฝเบงเบเบฑเบเบกเบฑเบเปเบเบเปเบฒเปเบซเบฑเบ.
เบซเบผเบฑเบโเบเบฒเบโเบเบนโเปเบโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเบเบปเบโเปเบซเบฑเบโเบชเบญเบโเปเบเบทเปเบญเบโเบกเบทโ pgbarman ะธ pgbackrest. เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฝเบเปเบเปเบเปเปเบเบฐเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบเบเบฑเบเบญเบฑเบเบเปเบฒเบญเบดเบ (เปเบญเบเบฐเบชเบฒเบเบเบตเปเบเบฐเปเบเบเบเบฐเบเบฒเบเบซเบผเบฒเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฐเบเบฒเบเบฒเบกเบเบดเบเปเบฅเปเบเบธเบเบขเปเบฒเบเบเบฒเบกเบเบนเปเบกเบทเปเบเบปเปเบฒ), เปเบเปเบเบฑเบเบญเบฑเบเบเบตเบชเบญเบ, เปเบญเบเบฐเบชเบฒเบเปเบเปเบเบฒเบเปเบเบฑเบเปเบเบปเปเบฒเบเบฑเบ, เปเบเปเบเปเปเบกเบตเบเปเปเบเบปเบเบเปเบญเบ. เปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบงเบฝเบเบเบฒเบเบเบญเบเบเบนเปเบเบตเปเบเบฐเปเบเบตเบเบซเบเปเบฒเบเบฑเบเบงเบฝเบเบเบฒเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบ, เบเบปเบเบเบงเบฒเบกเบเบตเปเบเบทเบเบเบฝเบเบเบทเปเบ.
เบซเบผเบฑเบเบเบฒเบเบญเปเบฒเบเบเบปเบเบเบงเบฒเบกเบเบตเป, เบเปเบฒเบเบเบฐเปเบเปเบฎเบฝเบเบฎเบนเปเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเปเบซเปเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบเบตเปเปเบเบตเปเบกเบเบถเปเบ, เบเปเบงเบเบเบฐเบขเบฑเบเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบซเปเบฒเบเปเบเบชเบญเบเบซเบผเบตเบ (repository เบเบฑเบ backups) เปเบฅเบฐเบเบทเปเบเบเบนเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒเปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบฒเบเบชเบนเบเปเบชเบเบเปเปเบกเบนเบเบซเบผเบทเบเบฑเบเบซเบฒเบญเบทเปเบเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบปเปเบเบเป.
เบเบฒเบโเบเบถเบโเบญเบปเบโเบฎเบปเบก
เปเบเบทเปเบญเบเบฐเบฅเบดเบเบเบทเปเบกเบเบนเปเบกเบทเปเบซเบกเป, เบเปเบฒเบเบเบฐเบเปเบญเบเบกเบตเบชเบญเบ VPS. เบเปเบฒเบญเบดเบเบเบฐเปเบเบฑเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ (เบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบเบตเปเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบเบฐเบเบทเบเปเบเบฑเบเปเบงเป), เปเบฅเบฐเบญเบฑเบเบเบตเบชเบญเบ, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบกเบฑเบเปเบญเบเบเบฑเบ postgres (เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเปเบญเบ, เบฎเบธเปเบ 11 เบเบญเบ postgres).
เบกเบฑเบเบชเบปเบกเบกเบธเบเบงเปเบฒเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบกเบต postgres เบเปเบฒเบเบกเบตเบฎเบฒเบ, เบเบนเปเปเบเป sudo, เบเบนเปเปเบเป postgres เปเบฅเบฐ postgres เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเปเบเปเบเบทเบเบเบดเบเบเบฑเปเบ (เบเบนเปเปเบเป postgres เบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบกเบทเปเบญเบเบดเบเบเบฑเปเบ postgresql), เปเบฅเบฐเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบ repository เบกเบตเบเบนเปเปเบเปเบฎเบฒเบเปเบฅเบฐ sudo (เปเบเบเบนเปเบกเบท. เบเบทเปเบเบนเปเปเบเป pgbackrest เบเบฐเบเบทเบเบเปเบฒเปเบเป).
เปเบเบทเปเบญเปเบซเปเปเบเบปเปเบฒเบกเบตเบเบฑเบเบซเบฒเปเปเบญเบเบฅเบปเบเปเบเปเบงเบฅเบฒเปเบฎเบฑเบเบเบฒเบเปเบเบฐเบเบณเบเบทเบเปเปเป, เบเปเบญเบเบเบฝเบเปเบเบฑเบเบเบปเบงเบญเบฝเบ เบเปเบญเบเบเบตเป, เบเบฑเบเบเบนเปเปเบเปเปเบเปเบฅเบฐเบเปเบงเบเบชเบดเบเบเบดเบญเบฑเบเปเบเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฐเบเบดเบเบฑเบเบเปเบฒเบชเบฑเปเบ เปเบเบเบฐเบเบฐเบเบตเปเบเบฝเบเปเบฅเบฐเบเบงเบเปเบเบดเปเบเบเบปเบเบเบงเบฒเบก.
เบเบฒเบเบเบดเบเบเบฑเปเบ pgbackrest
เบเบฑเบเปเบเบฑเบเบเปเปเบกเบนเบ (pgbackrest เบเบนเปเปเบเป):
1. เบเบฒเบงเปเบซเบผเบเปเบเปเบกเบเบฑเบเปเบเบฑเบเบเบฒเบ pgbackrest เปเบฅเบฐเปเบญเบเปเบเบทเปเบญเปเบเบเบญเบเบกเบฑเบเปเบเบเบตเปเปเบเบเปเบเบต /build:
sudo mkdir /build
sudo wget -q -O -
https://github.com/pgbackrest/pgbackrest/archive/release/2.18.tar.gz |
sudo tar zx -C /build
2. เบเบดเบโเบเบฑเปเบโเปเบญโเบเบฐโเบชเบฒเบโเบเบตเปโเบเปเบฒโเปเบเบฑเบโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเบฐโเบเบญเบโ:
sudo apt-get update
sudo apt-get install build-essential libssl-dev libxml2-dev libperl-dev zlib1g-dev
libpq-dev
3. เบเบฒเบเบเบฐเบเบญเบ pgbackrest:
cd /build/pgbackrest-release-2.18/src && sudo ./configure
sudo make -s -C /build/pgbackrest-release-2.18/src
4. เบเบฑเบเบฅเบญเบเปเบเบฅเปเบเบตเปเบเบฐเบเบดเบเบฑเบเปเบเปเปเบเบเบตเปเปเบเปเบฅเบเบฐเบเปเบฅเบต /usr/bin:
sudo cp /build/pgbackrest-release-2.18/src/pgbackrest /usr/bin
sudo chmod 755 /usr/bin/pgbackrest
5. Pgbackrest เบเปเบญเบเบเบฒเบ perl. เบเบดเบเบเบฑเปเบ:
sudo apt-get install perl
6. เบชเปเบฒเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบถเบ, เปเบซเปเบเบงเบเปเบเบปเบฒเบกเบตเบชเบดเบเบเบตเปเปเบเปเบเบญเบ:
sudo mkdir -p -m 770 /var/log/pgbackrest
sudo chown pgbackrest:pgbackrest /var/log/pgbackrest
sudo mkdir -p /etc/pgbackrest
sudo mkdir -p /etc/pgbackrest/conf.d
sudo touch /etc/pgbackrest/pgbackrest.conf
sudo chmod 640 /etc/pgbackrest/pgbackrest.conf
sudo chown pgbackrest:pgbackrest /etc/pgbackrest/pgbackrest.conf
7. เบเบงเบเบชเบญเบ:
pgbackrest version
เปเบเบตเบเปเบงเบต Postgres (เบเบนเปเปเบเป sudo เบซเบผเบทเบฎเบฒเบ):
เบเบฐเบเบงเบเบเบฒเบเบเบดเบเบเบฑเปเบ pgbackrest เปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบกเบต postgres เปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบเบเบฐเบเบงเบเบเบฒเบเบเบดเบเบเบฑเปเบเบขเบนเปเปเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ (เปเบกเปเบเปเบฅเปเบง, pgbackrest เบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฑเบเบชเบญเบ), เปเบเปเปเบเบงเบฑเบเบเบต 6 เบเปเบฒเบชเบฑเปเบเบเบตเบชเบญเบเปเบฅเบฐเบชเบธเบเบเปเบฒเบ:
sudo chown pgbackrest:pgbackrest /var/log/pgbackrest
sudo chown pgbackrest:pgbackrest /etc/pgbackrest/pgbackrest.conf
เปเบเบเบเบตเปเบเปเบงเบ:
sudo chown postgres:postgres /var/log/pgbackrest
sudo chown postgres:postgres /etc/pgbackrest/pgbackrest.conf
เบเบฑเปเบเบเปเบฒเบเบฒเบเปเบเปเบเบญเบเบฅเบฐเบซเบงเปเบฒเบเปเบเบตเบเปเบงเบตเบเปเบฒเบ SSH เบเบตเปเบเปเปเบกเบตเบฅเบฐเบซเบฑเบเบเปเบฒเบ
เปเบเบทเปเบญเปเบซเป pgbackrest เปเบฎเบฑเบเบงเบฝเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ, เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเปเบฒเบเบปเบเบเบฒเบเปเบเปเบเบญเบเบฅเบฐเบซเบงเปเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ postgres เปเบฅเบฐเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเปเบเบเปเบเปเปเบเบฅเปเบเบตเปเบชเปเบฒเบเบฑเบ.
เบเบฑเบเปเบเบฑเบเบเปเปเบกเบนเบ (pgbackrest เบเบนเปเปเบเป):
เบชเปเบฒเบเบเบนเปเบเบต:
mkdir -m 750 /home/pgbackrest/.ssh
ssh-keygen -f /home/pgbackrest/.ssh/id_rsa
-t rsa -b 4096 -N ""
เบฅเบฐโเบกเบฑเบโเบฅเบฐโเบงเบฑเบ เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเบฒเบเปเบเบดเบเปเบเบเบเปเปเบกเบตเบเบฒเบ sudo.
เปเบเบตเบเปเบงเบต Postgres (เบเบนเปเปเบเป sudo เบซเบผเบทเบฎเบฒเบ):
เบชเปเบฒเบเบเบนเปเบเบต:
sudo -u postgres mkdir -m 750 -p /var/lib/postgresql/.ssh
sudo -u postgres ssh-keygen -f /var/lib/postgresql/.ssh/id_rsa
-t rsa -b 4096 -N ""
Repository (เบเบนเปเปเบเป sudo):
เบชเบณเปเบเบปเบฒเบฅเบฐเบซเบฑเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบเบญเบเปเบเบตเบเปเบงเบต postgres เปเบเปเบชเปเปเบเบตเบเปเบงเบตเบเบตเปเปเบเบฑเบเบเปเปเบกเบนเบ:
(echo -n 'no-agent-forwarding,no-X11-forwarding,no-port-forwarding,' &&
echo -n 'command="/usr/bin/pgbackrest ${SSH_ORIGINAL_COMMAND#* }" ' &&
sudo ssh root@<postgres_server_ip> cat /var/lib/postgresql/.ssh/id_rsa.pub) |
sudo -u pgbackrest tee -a /home/pgbackrest/.ssh/authorized_keys
เปเบเบเบฑเปเบเบเบญเบเบเบตเปเบเปเบฒเบเบเบฐเบเบทเบเบฎเปเบญเบเบเปเปเบซเปเบกเบตเบฅเบฐเบซเบฑเบเบเปเบฒเบเบชเปเบฒเบฅเบฑเบเบเบนเปเปเบเปเบฎเบฒเบ. เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบชเปเบฅเบฐเบซเบฑเบเบเปเบฒเบเบเบญเบเบเบนเปเปเบเปเบฎเบฒเบเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ postgres!
เปเบเบตเบเปเบงเบต Postgres (เบเบนเปเปเบเป sudo):
เบชเบณเปเบเบปเบฒเบฅเบฐเบซเบฑเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบเบญเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเปเบชเปเปเบเบตเบเปเบงเบตเบเปเบงเบ postgres:
(echo -n 'no-agent-forwarding,no-X11-forwarding,no-port-forwarding,' &&
echo -n 'command="/usr/bin/pgbackrest ${SSH_ORIGINAL_COMMAND#* }" ' &&
sudo ssh root@<repository_server_ip> cat /home/pgbackrest/.ssh/id_rsa.pub) |
sudo -u postgres tee -a /var/lib/postgresql/.ssh/authorized_keys
เปเบเบเบฑเปเบเบเบญเบเบเบตเปเบเปเบฒเบเบเบฐเบเบทเบเบฎเปเบญเบเบเปเปเบซเปเบกเบตเบฅเบฐเบซเบฑเบเบเปเบฒเบเบชเปเบฒเบฅเบฑเบเบเบนเปเปเบเปเบฎเบฒเบ. เบเปเบฒเบโเบเปเบฒโเปเบเบฑเบโเบเปเบญเบโเปเบชเปโเบฅเบฐโเบซเบฑเบโเบเปเบฒเบโเปเบเปโเบเบญเบโเบเบนเปโเปเบเปโเบฎเบฒเบโเบเบญเบ repository เปเบเปโ!
เบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบเบดเปเบ:
Repository (เบเบนเปเปเบเปเบฎเบฒเบ, เปเบเบทเปเบญเบเบงเบฒเบกเบเปเบฅเบดเบชเบธเบเบเบญเบเบเบฒเบเบเบปเบเบฅเบญเบ):
sudo -u pgbackrest ssh postgres@<postgres_server_ip>
เปเบเบตเบเปเบงเบต Postgres (เบเบนเปเปเบเปเบฎเบฒเบ, เปเบเบทเปเบญเบเบงเบฒเบกเบเปเบฅเบดเบชเบธเบเบเบญเบเบเบฒเบเบเบปเบเบฅเบญเบ):
sudo -u postgres ssh pgbackrest@<repository_server_ip>
เบเบงเบเปเบฎเบปเบฒเปเบซเปเปเบเปเปเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเบเบเปเปเบกเบตเบเบฑเบเบซเบฒ.
เบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ postgres
เปเบเบตเบเปเบงเบต Postgres (เบเบนเปเปเบเป sudo เบซเบผเบทเบฎเบฒเบ):
1. เบญเบฐเบเบธเบเบฒเบเปเบซเปเปเบเบฒเบฐเปเบเบตเบเปเบงเบต postgres เบเบฒเบ IP เบเบฒเบเบเบญเบ. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เปเบเปเปเบเปเบเบฅเป postgresql.conf (เบเบฑเปเบเบขเบนเปเปเบ /etc/postgresql/11/main folder), เปเบเบตเปเบกเปเบเบงเปเบชเปเบกเบฑเบ:
listen_addresses = '*'
เบเปเบฒเปเบชเบฑเปเบเบเบฑเปเบเบเปเบฒเบงเบกเบตเบขเบนเปเปเบฅเปเบง, เบเปเปเบเบฝเบเบเบณเปเบซเบฑเบ เบซเบผเบทเบเบฑเปเบเบเปเบฒเบเบฒเบฃเบฒเบกเบดเปเบเบตเปเบเบฑเบ '*'.
เปเบเปเบเบฅเป pg_hbaconf (เบเบฑเบเบเบฑเปเบเบขเบนเปเปเบเปเบเบเปเบเบต /etc/postgresql/11/main) เปเบเบตเปเบกโเปเบชเบฑเปเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโ:
hostssl all all 0.0.0.0/0 md5
host all all 0.0.0.0/0 md5
เบเปเบญเบเบเบตเป:
hostssl/host - ะฟะพะดะบะปััะฐะตะผัั ัะตัะตะท SSL (ะธะปะธ ะฝะตั)
all - ัะฐะทัะตัะฐะตะผ ะฟะพะดะบะปััะตะฝะธะต ะบะพ ะฒัะตะผ ะฑะฐะทะฐะผ
all - ะธะผั ะฟะพะปัะทะพะฒะฐัะตะปั, ะบะพัะพัะพะผั ัะฐะทัะตัะฐะตะผ ะฟะพะดะบะปััะตะฝะธะต (ะฒัะตะผ)
0.0.0.0/0 - ะผะฐัะบะฐ ัะตัะธ ั ะบะพัะพัะพะน ะผะพะถะฝะพ ะฟะพะดะบะปััะฐัััั
md5 - ัะฟะพัะพะฑ ัะธััะพะฒะฐะฝะธั ะฟะฐัะพะปั
2. เปเบซเปโเบเบญเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเบเบตเปโเบเปเบฒโเปเบเบฑเบโเปเบโ postgresql.conf (เบกเบฑเบเบขเบนเปเปเบเปเบเบเปเบเบต /etc/postgresql/11/main) เบชเปเบฒเบฅเบฑเบ pgbackrest เปเบฎเบฑเบเบงเบฝเบ:
archive_command = 'pgbackrest --stanza=main archive-push %p' # ะะดะต main - ะฝะฐะทะฒะฐะฝะธะต ะบะปะฐััะตัะฐ. ะัะธ ัััะฐะฝะพะฒะบะต postgres ะฐะฒัะพะผะฐัะธัะตัะบะธ ัะพะทะดะฐะตั ะบะปะฐััะตั main.
archive_mode = on
max_wal_senders = 3
wal_level = replica
3. เบกเบฒเปเบฎเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบเปเบฒเปเบเบฑเบเปเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒ pgbackrest (/etc/pgbackrest/pgbackrest.conf):
[main]
pg1-path=/var/lib/postgresql/11/main
[global]
log-level-file=detail
repo1-host=<repository_server_ip>
4. เปเบซเบผเบ postgresql เบเบทเบเปเปเป:
sudo service postgresql restart
เบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบ repository
Repository (เบเบนเปเปเบเป pgbackrest):
เปเบซเปเปเบฎเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบตเปเบเปเบฒเปเบเบฑเบเปเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒ pgbackrest
(/etc/pgbackrest/pgbackrest.conf):
[main]
pg1-host=<postgres_server_ip>
pg1-path=/var/lib/postgresql/11/main
[global]
repo1-path=/var/lib/pgbackrest
repo1-retention-full=2 # ะะฐัะฐะผะตัั, ัะบะฐะทัะฒะฐััะธะน ัะบะพะปัะบะพ ั
ัะฐะฝะธัั ะฟะพะปะฝัั
ะฑัะบะฐะฟะพะฒ. ะข.ะต. ะตัะปะธ ั ะฒะฐั ะตััั ะดะฒะฐ ะฟะพะปะฝัั
ะฑัะบะฐะฟะฐ ะธ ะฒั ัะพะทะดะฐะตัะต ััะตัะธะน, ัะพ ัะฐะผัะน ััะฐััะน ะฑัะบะฐะฟ ะฑัะดะตั ัะดะฐะปะตะฝ. ะะพะถะฝะพ ะฟัะพะธะทะฝะพัะธัั ะบะฐะบ "ั
ัะฐะฝะธัั ะฝะต ะฑะพะปะตะต ะดะฒัั
ะฑัะบะฐะฟะพะฒ" - ะฟะพ ะฐะฝะฐะปะพะณะธะธ ั ัะพัะฐัะธัะผะธ ะปะพะณะพะฒ. ะกะฟะฐัะธะฑะพ @Aytuar ะทะฐ ะธัะฟัะฐะฒะปะตะฝะธะต ะพัะธะฑะบะธ.
start-fast=y # ะะฐัะธะฝะฐะตั ัะตะทะตัะฒะฝะพะต ะบะพะฟะธัะพะฒะฐะฝะธะต ะฝะตะผะตะดะปะตะฝะฝะพ, ะฟัะพัะธัะฐัั ะฟัะพ ััะพั ะฟะฐัะฐะผะตัั ะผะพะถะฝะพ ััั https://postgrespro.ru/docs/postgrespro/9.5/continuous-archiving
เบเบฒเบเบชเปเบฒเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ
Repository (เบเบนเปเปเบเป pgbackrest):
เบชเปเบฒเบเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบเปเปเปเบชเบณเบฅเบฑเบเบเบธเปเบก เบเบปเปเบเบเป:
sudo mkdir -m 770 /var/lib/pgbackrest
sudo chown -R pgbackrest /var/lib/pgbackrest/
sudo -u pgbackrest pgbackrest --stanza=main stanza-create
เบเบฒเบเบเบงเบเบเบฒ
เปเบเบตเบเปเบงเบต Postgres (เบเบนเปเปเบเป sudo เบซเบผเบทเบฎเบฒเบ):
เบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบเบดเปเบเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบ postgres:
sudo -u postgres pgbackrest --stanza=main --log-level-console=info check
Repository (เบเบนเปเปเบเป pgbackrest):
เบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบเบดเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบ repository:
sudo -u pgbackrest pgbackrest --stanza=main --log-level-console=info check
เบเบงเบเปเบฎเบปเบฒเปเบซเปเปเบเปเปเบเบงเปเบฒเปเบเบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเปเบชเบฑเปเบ "เบเบงเบเปเบเบดเปเบเบเปเบฒเบชเบฑเปเบเบชเบดเปเบเบชเบธเบ: เบชเปเบฒเปเบฅเบฑเบเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบ".
เปเบกเบทเปเบญเบ? เบเปเปเบซเปเบเปเบฒเบงเปเบเบชเบนเปเบชเปเบงเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบเบตเปเบชเบธเบ.
เบเปเบฒเบฅเบฑเบเปเบฎเบฑเบเบเบฒเบเบชเปเบฒเบฎเบญเบ
Repository (เบเบนเปเปเบเป pgbackrest):
1. เบเบฐเบเบดเบเบฑเบเบเบฒเบเบชเปเบฒเบฎเบญเบ:
sudo -u pgbackrest pgbackrest --stanza=main backup
2. เปเบซเปเปเบเปเปเบเบงเปเบฒเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบ:
ls /var/lib/pgbackrest/backup/main/
Pgbackrest เบเบฐเบชเปเบฒเบเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเปเบเบฑเบกเบฎเบนเบเปเบเบเบเปเบฒเบญเบดเบ. เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเปเบฅเบฐเปเบซเปเปเบเปเปเบเบงเปเบฒเบฅเบฐเบเบปเบเบชเปเบฒเบเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบเบตเปเปเบเบตเปเบกเบเบถเปเบ.
เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบฎเบฑเบเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบขเปเบฒเบเปเบเบฑเบกเบเบตเปเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบซเปเบฅเบฐเบเบธเบเบธเบเปเบเบตเปเบกเปเบเบตเบก:
sudo -u pgbackrest pgbackrest --stanza=main --type=full backup
เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบปเบเบเบฐเบฅเบดเบ console เบฅเบฐเบญเบฝเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบซเปเบฅเบฐเบเบธ:
sudo -u pgbackrest pgbackrest --stanza=main --type=full --log-level-console=info backup
เบเบฒเบเบเบทเปเบเบเบนเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบ
เปเบเบตเบเปเบงเบต Postgres (เบเบนเปเปเบเป sudo เบซเบผเบทเบฎเบฒเบ):
1. เบขเบธเบเบเบธเปเบกเปเบฅเปเบ:
sudo pg_ctlcluster 11 main stop
2. เบเบฒเบโเบเบทเปเบโเบเบนโเบเบฒเบโเบเบฒเบโเบชเปเบฒโเบฎเบญเบโเบเปเปโเบกเบนเบโ:
sudo -u postgres pgbackrest --stanza=main --log-level-console=info --delta --recovery-option=recovery_target=immediate restore
ะงัะพะฑั ะฒะพัััะฐะฝะพะฒะธัั ะฑะฐะทั ะฒ ัะพััะพัะฝะธะต ะฟะพัะปะตะดะฝะตะณะพ ะะะะะะะ ะฑัะบะฐะฟะฐ ะธัะฟะพะปัะทัะนัะต ะบะพะผะฐะฝะดั ะฑะตะท ัะบะฐะทะฐะฝะธั recovery_target:
sudo -u postgres pgbackrest --stanza=main --log-level-console=info --delta restore
ะะฐะถะฝะพ! ะะพัะปะต ะฒะพัััะฐะฝะพะฒะปะตะฝะธั ะผะพะถะตั ะพะบะฐะทะฐัััั ัะฐะบ, ััะพ ะฑะฐะทะฐ ะทะฐะฒะธัะฝะตั ะฒ ัะตะถะธะผะต ะฒะพัััะฐะฝะพะฒะปะตะฝะธั (ะฑัะดัั ะพัะธะฑะบะธ ะฒ ะดัั ะต ERROR: cannot execute DROP DATABASE in a read-only transaction). ะงะตััะฝะพ ะณะพะฒะพัั, ั ะตัะต ะฝะต ะฟะพะฝัะป, ั ัะตะผ ััะพ ัะฒัะทะฐะฝะพ. ะ ะตัะฐะตััั ัะปะตะดัััะธะผ ะพะฑัะฐะทะพะผ (ะฝัะถะฝะพ ะฑัะดะตั ะผะฐะปะพััั ะฟะพะดะพะถะดะฐัั ะฟะพัะปะต ะธัะฟะพะปะฝะตะฝะธั ะบะพะผะฐะฝะดั):
sudo -u postgres psql -c "select pg_wal_replay_resume()"
ะะฐ ัะฐะผะพะผ ะดะตะปะต, ะตััั ะฒะพะทะผะพะถะฝะพััั ะฒะพัััะฐะฝะพะฒะธัั ะบะพะฝะบัะตัะฝัะน ะฑัะบะฐะฟ ะฟะพ ะตะณะพ ะธะผะตะฝะธ. ะะดะตัั ั ะปะธัั
3. เปเบฅเบตเปเบกเบเบธเปเบก:
sudo pg_ctlcluster 11 main start
เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบทเปเบเบเบนเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบเบตเบชเบญเบ:
Repository (เบเบนเปเปเบเป pgbackrest):
sudo pgbackrest --stanza=main backup
เบซเบกเบปเบโเปเบเบปเปเบฒโเบเบตเป. เบชเบฐเบซเบฅเบธเบเบฅเบงเบกเปเบฅเปเบง, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบขเบฒเบเบเบฐเปเบเบทเบญเบเบเปเบฒเบเบงเปเบฒเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเปเบกเบตเบงเบดเบเบตเบเบฒเบเบเบฐเบเบฒเบเบฒเบกเบเปเบฒเบเปเบฒเปเบเบฑเบ dba เบเบฑเปเบเบชเบนเบเปเบฅเบฐเบเบฐเปเบเปเปเบกเบเปเบเปเบญเบเบฒเบเปเบฅเบฑเบเบเปเบญเบ. เปเบเบเบฑเบเบเบธเบเบฑเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบญเบเบเปเบฒเบฅเบฑเบเปเบฅเบตเปเบกเบชเบถเบเบชเบฒเบซเบปเบงเบเปเปเบเปเบฒเบเปเปเบเบฑเปเบ: เบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบ, เบเบฒเบเบเปเบฒเบฅเบญเบ, เบเบฒเบเบเบดเบเบเบฒเบก, เปเบฅเบฐเบญเบทเปเบเป. เปเบฅเบฐเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฝเบเบเบปเบเบฅเบฒเบเบเบฒเบเบเบฐเบซเบเบฒเบเบเปเบญเบเบเปเบฝเบงเบเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเบฐเบเบญเบเบชเปเบงเบเปเบฅเบฑเบเบเปเบญเบเบเปเปเบเบธเบกเบเบปเบเปเบฅเบฐเบญเบญเบเบเบฒเบเปเบเปเบ cheat เบเบฐเบซเบเบฒเบเบเปเบญเบเบชเปเบฒเบฅเบฑเบเบเบปเบเปเบญเบ.
เปเบเบเบปเบเบเบงเบฒเบกเบเปเปเปเบเบเบตเปเบเปเบญเบเบเบฐเบเบฐเบเบฒเบเบฒเบกเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบฅเบฑเบเบชเบฐเบเบฐเปเบเบตเปเบกเปเบเบตเบก - เบเบฒเบเบเบทเปเบเบเบนเบเปเปเบกเบนเบเปเบซเปเบเบฑเบเบเบธเปเบกเบเบตเปเบชเบฐเบญเบฒเบ, เบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเปเบฅเบฐเบเบฒเบเปเบเบตเบเปเบเปเบเบฑเบ S3, เบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเบเปเบฒเบ rsync.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com