เช เชธเซเชตเซเชเชฐเชฃ
เชนเซเช เชกเซเชตเชฒเชชเชฐ เชเซเช. เชนเซเช เชเซเชก เชฒเชเซเช เชเซเช เช เชจเซ เชฎเชพเชคเซเชฐ เชเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชคเชฐเซเชเซ เชกเซเชเชพเชฌเซเช เชธเชพเชฅเซ เชธเชเชชเชฐเซเช เชเชฐเซเช เชเซเช. เชนเซเช เชเซเช เชชเชฃ เชฐเซเชคเซ เชธเชฟเชธเซเชเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชเซเชฐเซเชเชฐ เชนเซเชตเชพเชจเซ เชขเซเชเช เชเชฐเชคเซ เชจเชฅเซ, เชกเซเชฌเซเช เชเชฐเชคเชพเช เชเชฃเซเช เชเชเซเช. เชชเชฃโฆ
เชเชตเซเช เชฅเชฏเซเช เชเซ เชฎเชพเชฐเซ postgresql เชกเซเชเชพเชฌเซเชเชจเซเช เชฌเซเชเช เชช เชเซเช เชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชเซเช เชตเชพเชฆเชณเซ เชจเชฅเซ - เชซเชเซเชค SSH เชจเซ เชเชชเชฏเซเช เชเชฐเซ เช เชจเซ เชเชพเชคเชฐเซ เชเชฐเซ เชเซ เชชเซเชธเชพ เชฎเชพเชเชเซเชฏเชพ เชตเชฟเชจเชพ เชฌเชงเซเช เชเชพเชฎ เชเชฐเซ เชเซ. เชเชตเชพ เชเชฟเชธเซเชธเชพเชเชฎเชพเช เชเชชเชฃเซ เชถเซเช เชเชฐเซเช? เชคเซ เชธเชพเชเซเช เชเซ, เช เชฎเซ pgdump เชจเซ เชเซเชฐเซเชจเชฎเชพเช เชฆเชฌเชพเชฃ เชเชฐเซเช เชเซเช, เชฆเชฐเชฐเซเช เชเชฐเซเชเชพเชเชตเชฎเชพเช เชฆเชฐเซเช เชตเชธเซเชคเซเชจเซ เชฌเซเชเช เชช เชฒเชเช เชเซเช, เช เชจเซ เชเซ เชเชชเชฃเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชเซเชตเชพเช เชเชเช, เชคเซ เช เชฎเซ เช เชเชฐเซเชเชพเชเชตเชจเซ เชเซเชฏเชพเชเช เชฆเซเชฐ เชฎเซเชเชฒเซเช เชเซเช.
เช เชตเชเชคเซ เชฎเซเชถเซเชเซเชฒเซ เช เชนเชคเซ เชเซ เชฏเซเชเชจเชพเช เช เชจเซเชธเชพเชฐ เชกเซเชเชพเชฌเซเช เชฒเชเชญเช +- 100 MB เชชเซเชฐเชคเชฟ เชฆเชฟเชตเชธ เชตเชงเชตเชพเชจเซ เชนเชคเซ. เช เชฒเชฌเชคเซเชค, เชฅเซเชกเชพ เช เช เชตเชพเชกเชฟเชฏเชพ เชชเชเซ pgdump เชธเชพเชฅเซ เชฌเชงเซเช เชฌเซเชเช เชช เชฒเซเชตเชพเชจเซ เชเชเซเชเชพ เช เชฆเซเชถเซเชฏ เชฅเช เชเชถเซ. เช เชคเซ เชเซ เชเซเชฏเชพเช เชตเชงเชพเชฐเชพเชจเชพ เชฌเซเชเช เชชเซเชธ เชฌเชเชพเชตเชฎเชพเช เชเชตเซ เชเซ.
เชฐเชธเชชเซเชฐเชฆ? เชฌเชฟเชฒเชพเชกเซเชฎเชพเช เชเชชเชจเซเช เชธเซเชตเชพเชเชค เชเซ.
เชเชจเซเชเซเชฐเซเชฎเซเชจเซเชเชฒ เชฌเซเชเช เชช เช เชฌเซเชเช เชชเชจเซ เชเช เชชเซเชฐเชเชพเชฐ เชเซ เชเซเชฏเชพเชฐเซ เชฌเชงเซ เชธเซเชฐเซเชค เชซเชพเชเชฒเซเชจเซ เชจเชเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเชคเซ เชจเชฅเซ, เชชเชฐเชเชคเซ เชซเชเซเชค เชจเชตเซ เช เชจเซ เชคเซ เชเซ เช เชเชพเชเชจเซ เชจเชเชฒเชจเซ เชฐเชเชจเชพ เชชเชเซ เชฌเชฆเชฒเชพเช เชเซ.
เชเซเชเชชเชฃ เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเชจเซ เชเซเชฎ เชเซ เชชเซเชธเซเชเชเซเชฐเซเชธเชจเซ เชเชเชฟเชฒเชคเชพเชเชจเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซ (เชคเซ เชธเชฎเชฏเซ) เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เช เชจเชฟเชเซเชเชพ เชงเชฐเชพเชตเชคเชพ เชนเชคเชพ, เชนเซเช เชเซเชฐเซเชจ เชฌเชเชจ เชถเซเชงเชตเชพ เชฎเชพเชเชเชคเซ เชนเชคเซ. เชธเชพเชฐเซเช, เชคเชฎเซ เชเชพเชฃเซ เชเซ, เชเซเชฎ เชเซ AWS, DigitalOcean เชฎเชพเช: เชคเชฎเซ เชเช เชฌเชเชจ เชฆเชฌเชพเชตเซเชฏเซเช - เชคเชฎเชจเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชฎเชณเซ, เชคเชฎเซ เชฌเซเชเซเช เชฆเชฌเชพเชตเซเชฏเซเช - เชคเชฎเซ เชฌเซเชเช เชช เชธเซเช เชเชฐเซเชฏเซเช, เชคเซเชฐเซเชเซเช - เชคเชฎเซ เชฌเชงเซเช เชฅเซเชกเชพ เชเชฒเชพเชเซ เชชเชพเชเชณ เชซเซเชฐเชตเซเชฏเซเช. เชฎเชจเซ เชเซเช เชฌเชเชจ เช เชฅเชตเชพ เชธเซเชเชฆเชฐ GUI เชเซเชฒ เชฎเชณเซเชฏเซเช เชจเชฅเซ. เชเซ เชคเชฎเซ เชเช (เชฎเชซเชค เช เชฅเชตเชพ เชธเชธเซเชคเซเช) เชเชพเชฃเซ เชเซ, เชคเซ เชเชฟเชชเซเชชเชฃเซเชเชฎเชพเช เชคเซเชจเชพ เชตเชฟเชถเซ เชฒเชเซ.
เชเซเชเชฒเชฟเชเช เชชเชเซ เชฎเชจเซ เชฌเซ เชเซเชฒเซเชธ เชฎเชณเซเชฏเชพเช pgbarman ะธ pgbackrest. เชนเซเช เชซเชเซเชค เชชเซเชฐเชฅเชฎ เชธเชพเชฅเซ เชธเชซเชณ เชฅเชฏเซ เชจ เชนเชคเซ (เชเซเชฌ เช เชเซเชเชพเชเชตเชพเชฏเชพ เชฆเชธเซเชคเชพเชตเซเชเซ, เชฎเซเช เชเซเชจเชพ เชฎเชพเชฐเซเชเชฆเชฐเซเชถเชฟเชเชพ เช เชจเซเชธเชพเชฐ เชฌเชงเซเช เช เชเชเซเชคเชฟ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชฏเซ), เชชเชฐเชเชคเซ เชฌเซเชเชพ เชธเชพเชฅเซ เชฆเชธเซเชคเชพเชตเซเชเซเชเชฐเชฃ เชธเชฎเชพเชจ เชนเซเชตเชพเชจเซเช เชฌเชนเชพเชฐ เชเชตเซเชฏเซเช, เชชเชฐเชเชคเซ เชญเซเชฒเซ เชตเชฟเชจเชพ เชจเชนเซเช. เชเซเช เชธเชฎเชพเชจ เชเชพเชฐเซเชฏเชจเซ เชธเชพเชฎเชจเซ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซ เชคเซเชฎเชจเชพ เชเชพเชฐเซเชฏเชจเซ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ, เช เชฒเซเช เชฒเชเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ.
เช เชฒเซเช เชตเชพเชเชเซเชฏเชพ เชชเชเซ, เชคเชฎเซ เชถเซเชเซ เชถเชเชถเซ เชเซ เชเชจเซเชเซเชฐเซเชฎเซเชจเซเชเชฒ เชฌเซเชเช เชช เชเซเชตเซ เชฐเซเชคเซ เชฌเชจเชพเชตเชตเซเช, เชคเซเชจเซ เชฐเชฟเชฎเซเช เชธเชฐเซเชตเชฐ (เชฌเซเชเช เชช เชธเชพเชฅเซ เชฐเซเชชเซเชเซเชเชฐเซ) เชชเชฐ เชเซเชตเซ เชฐเซเชคเซ เชธเซเชต เชเชฐเชตเซเช เช เชจเซ เชฎเซเชเซเชฏ เชธเชฐเซเชตเชฐ เชชเชฐ เชกเซเชเชพ เชจเซเชเชถเชพเชจ เช เชฅเชตเชพ เช เชจเซเชฏ เชธเชฎเชธเซเชฏเชพเชเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช เชคเซเชจเซ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเซเช.
เชคเชพเชฒเซเชฎ
เชฎเซเชจเซเชฏเซเช เชฒเชจเซเช เชชเซเชจเชเชเชคเซเชชเชพเชฆเชจ เชเชฐเชตเชพ เชฎเชพเชเซ เชคเชฎเชพเชฐเซ เชฌเซ VPS เชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ. เชชเซเชฐเชฅเชฎ เชธเซเชเซเชฐเซเช เชนเชถเซ (เชฐเชฟเชชเซเชเซเชเชฐเซ เชเซ เชเซเชจเชพ เชชเชฐ เชฌเซเชเช เชชเซเชธ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ), เช เชจเซ เชฌเซเชเซเช, เชนเชเซเชเชคเชฎเชพเช, เชธเชฐเซเชตเชฐ เชชเซเชคเซ เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชพเชฅเซ (เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชชเซเชธเซเชเชเซเชฐเซเชธเชจเซเช เชธเชเชธเซเชเชฐเชฃ 11).
เชเชตเซเช เชฎเชพเชจเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเซ เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชพเชฅเซเชจเชพ เชธเชฐเซเชตเชฐ เชชเชฐ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชฐเซเช, เชธเซเชกเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ, เชชเซเชธเซเชเชเซเชฐเซเชธ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเซ เช เชจเซ เชชเซเชธเซเชเชเซเชฐเซเชธ เชชเซเชคเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเซเช เชเซ (เชชเซเชธเซเชเชเซเชฐเซเชธเซเชเชฒ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชคเซ เชตเชเชคเซ เชชเซเชธเซเชเชเซเชฐเซเชธ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเชชเชฎเซเชณเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ), เช เชจเซ เชฐเซเชชเซเชเซเชเชฐเซ เชธเชฐเซเชตเชฐ เชชเชฐ เชฐเซเช เช เชจเซ เชธเซเชกเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชเซ (เชฎเซเชจเซเชฏเซเช เชฒเชฎเชพเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชจเชพเชฎ 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 เชจเซ เชชเชฐเซเชฒเชจเซ เชเชฐเซเชฐ เชเซ. เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ:
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
เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐ (เชธเซเชกเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เช เชฅเชตเชพ เชฐเซเช):
เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชพเชฅเซ เชธเชฐเซเชตเชฐ เชชเชฐ pgbackrest เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฐเซเชชเซเชเซเชเชฐเซ เชชเชฐ เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเซเชตเซ เช เชเซ (เชนเชพ, 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 เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ, เชเซ เชซเชพเชเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐ เช เชจเซ เชฐเซเชชเซเชเซเชเชฐเซ เชตเชเซเชเซเชจเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพเชจเซ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเชตเซ เชเชฐเซเชฐเซ เชเซ.
เชฐเซเชชเซเชเซเชเชฐเซ (เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ pgbackrest):
เชเซ เชเซเชกเซ เชฌเชจเชพเชตเซ:
mkdir -m 750 /home/pgbackrest/.ssh
ssh-keygen -f /home/pgbackrest/.ssh/id_rsa
-t rsa -b 4096 -N ""
เชธเชพเชตเชงเชพเชจ เชเชชเชฃเซ เชเชชเชฐเซเชเซเชค เชเชฆเซเชถเซ เชธเซเชกเซ เชตเชเชฐ เชเชฒเชพเชตเซเช เชเซเช.
เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐ (เชธเซเชกเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เช เชฅเชตเชพ เชฐเซเช):
เชเซ เชเซเชกเซ เชฌเชจเชพเชตเซ:
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 ""
เชฐเซเชชเซเชเซเชเชฐเซ (เชธเซเชกเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ):
เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐเชจเซ เชธเชพเชฐเซเชตเชเชจเชฟเช เชเซเชจเซ เชฐเชฟเชชเซเชเซเชเชฐเซ เชธเชฐเซเชตเชฐ เชชเชฐ เชเซเชชเชฟ เชเชฐเซ:
(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
เช เชชเชเชฒเชพ เชชเชฐ เชคเชฎเชจเซ เชฐเซเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชฎเชพเชเซ เชชเชพเชธเชตเชฐเซเชก เชฎเชพเชเซ เชชเซเชเชตเชพเชฎเชพเช เชเชตเชถเซ. เชคเชฎเชพเชฐเซ เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐเชจเชพ เชฐเซเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเซ เชชเชพเชธเชตเชฐเซเชก เชฆเชพเชเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ!
เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐ (เชธเซเชกเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ):
เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชพเชฅเซ เชธเชฐเซเชตเชฐ เชชเชฐ เชฐเซเชชเซเชเซเชเชฐเซ เชชเชฌเซเชฒเชฟเช เชเซเชจเซ เชจเชเชฒ เชเชฐเซ:
(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
เช เชชเชเชฒเชพ เชชเชฐ เชคเชฎเชจเซ เชฐเซเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชฎเชพเชเซ เชชเชพเชธเชตเชฐเซเชก เชฎเชพเชเซ เชชเซเชเชตเชพเชฎเชพเช เชเชตเชถเซ. เชคเชฎเชพเชฐเซ เชฐเซเชชเซเชเซเชเชฐเซเชจเชพ เชฐเซเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเซ เชฌเชฐเชพเชฌเชฐ เชชเชพเชธเชตเชฐเซเชก เชฆเชพเชเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ!
เชคเชชเชพเชธ เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ:
เชฐเซเชชเซเชเซเชเชฐเซ (เชฐเซเช เชฏเซเชเชฐ, เชชเซเชฐเชฏเซเชเชจเซ เชถเซเชฆเซเชงเชคเชพ เชฎเชพเชเซ):
sudo -u pgbackrest ssh postgres@<postgres_server_ip>
เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐ (เชฐเซเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ, เชชเซเชฐเชฏเซเชเชจเซ เชถเซเชฆเซเชงเชคเชพ เชฎเชพเชเซ):
sudo -u postgres ssh pgbackrest@<repository_server_ip>
เช เชฎเซ เชเชพเชคเชฐเซ เชเชฐเซเช เชเซเช เชเซ เช เชฎเชจเซ เชธเชฎเชธเซเชฏเชพ เชตเชฟเชจเชพ เชเชเซเชธเซเชธ เชฎเชณเซ.
เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐ เชธเซเช เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐ (เชธเซเชกเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เช เชฅเชตเชพ เชฐเซเช):
1. เชเชพเชฒเซ เชฌเชพเชนเซเชฏ IP เชฎเชพเชเชฅเซ เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐ เชชเชฐ เชเช เชฃ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซเช. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชซเชพเชเชฒเชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชเชฐเซ postgresql.conf (/etc/postgresql/11/main เชซเซเชฒเซเชกเชฐเชฎเชพเช เชธเซเชฅเชฟเชค เชเซ), เชคเซเชฎเชพเช เชฒเซเชเซ เชเชฎเซเชฐเซเชจเซ:
listen_addresses = '*'
เชเซ เชเชตเซ เชฒเซเชเซ เชชเชนเซเชฒเชพเชฅเซ เช เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชเซ, เชคเซ เชเชพเช เชคเซ เชคเซเชจเซ เช เชจเชเซเชฎเซเชจเซเช เชเชฐเซ เช เชฅเชตเชพ เชชเซเชฐเชพเชฎเซเชเชฐเชจเซ เชเชฟเชเชฎเชค '*' เชคเชฐเซเชเซ เชธเซเช เชเชฐเซ.
เชซเชพเชเชฒเชฎเชพเช pg_hba.conf (เชซเซเชฒเซเชกเชฐเชฎเชพเช เชชเชฃ เชธเซเชฅเชฟเชค เชเซ /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
เชฐเซเชชเซเชเซเชเชฐเซ เชธเชฐเซเชตเชฐ เชธเซเชฏเซเชเชฟเชค เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เชญเชเชกเชพเชฐ (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
เชฐเซเชชเซเชเซเชเชฐเซ เชฌเชจเชพเชตเซ เชฐเชนเซเชฏเชพ เชเซเช
เชญเชเชกเชพเชฐ (pgbackrest เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ):
เชเซเชฒเชธเซเชเชฐ เชฎเชพเชเซ เชจเชตเซเช เชธเซเชเซเชฐเซเช เชฌเชจเชพเชตเซ เชฎเซเชเซเชฏ:
sudo mkdir -m 770 /var/lib/pgbackrest
sudo chown -R pgbackrest /var/lib/pgbackrest/
sudo -u pgbackrest pgbackrest --stanza=main stanza-create
เชจเชฟเชฐเซเชเซเชทเชฃ
เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐ (เชธเซเชกเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เช เชฅเชตเชพ เชฐเซเช):
เช เชฎเซ เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐ เชชเชฐ เชคเชชเชพเชธ เชเชฐเซเช เชเซเช:
sudo -u postgres pgbackrest --stanza=main --log-level-console=info check
เชญเชเชกเชพเชฐ (pgbackrest เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ):
เช เชฎเซ เชฐเซเชชเซเชเซเชเชฐเซ เชธเชฐเซเชตเชฐ เชชเชฐ เชคเชชเชพเชธ เชเชฐเซเช เชเซเช:
sudo -u pgbackrest pgbackrest --stanza=main --log-level-console=info check
เช เชฎเซ เชเชพเชคเชฐเซ เชเชฐเซเช เชเซเช เชเซ เชเชเชเชชเซเชเชฎเชพเช เชเชชเชฃเซ "เชเซเช เชเชฎเชพเชจเซเชก เชเชจเซเชก: เชธเชซเชณเชคเชพเชชเซเชฐเซเชตเช เชชเซเชฐเซเชฃ" เชฒเซเชเซ เชเซเช เชถเชเซเช เชเซเช.
เชฅเชพเชเซ เชเชฏเชพ เชเซ? เชเชพเชฒเซ เชธเซเชฅเซ เชฐเชธเชชเซเชฐเชฆ เชญเชพเช เชคเชฐเชซ เชเชเชณ เชตเชงเซเช.
เชฌเซเชเช เชช เชฌเชจเชพเชตเซ เชฐเชนเซเชฏเชพ เชเซเช
เชญเชเชกเชพเชฐ (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
เชเซ เชคเชฎเชจเซ เชตเชฟเชเชคเชตเชพเชฐ เชเชจเซเชธเซเชฒ เชเชเชเชชเซเช เชเซเชเช เชเซ, เชคเซ เชคเซ เชชเชฃ เชธเซเชชเชทเซเช เชเชฐเซ:
sudo -u pgbackrest pgbackrest --stanza=main --type=full --log-level-console=info backup
เชฌเซเชเช เชช เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เชชเซเชธเซเชเชเซเชฐเซเชธ เชธเชฐเซเชตเชฐ (เชธเซเชกเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เช เชฅเชตเชพ เชฐเซเช):
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
เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ! เชชเซเชจเชเชชเซเชฐเชพเชชเซเชคเชฟ เชชเชเซ, เชเชตเซเช เชฌเชจเซ เชถเชเซ เชเซ เชเซ เชกเซเชเชพเชฌเซเช เชชเซเชจเชเชชเซเชฐเชพเชชเซเชคเชฟ เชฎเซเชกเชฎเชพเช เช เชเชตเชพเช เชเชพเชฏ (เชคเซเชฏเชพเช เชญเซเชฒ เชเซเชตเซ เชญเซเชฒเซ เชนเชถเซ: เชซเชเซเชค เชตเชพเชเชเชตเชพ เชฎเชพเชเซเชจเชพ เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช เชกเซเชฐเซเชช เชกเซเชเชพเชฌเซเช เชเชฒเชพเชตเซ เชถเชเชพเชถเซ เชจเชนเซเช). เชธเชพเชเซเช เชเชนเซเช เชคเซ, เชนเซเช เชนเชเซ เชธเซเชงเซ เชธเชฎเชเซ เชถเชเซเชฏเซ เชจเชฅเซ เชเซ เช เชถเซเช เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒเซเช เชเซ. เชเชเซเชฒ เชจเซเชเซ เชฎเซเชเชฌ เชเซ (เชเชฎเชพเชจเซเชก เชเชเซเชเชฟเชเซเชฏเซเช เชฅเชฏเชพ เชชเชเซ เชคเชฎเชพเชฐเซ เชฅเซเชกเซ เชฐเชพเชน เชเซเชตเซ เชชเชกเชถเซ):
sudo -u postgres psql -c "select pg_wal_replay_resume()"
เชนเชเซเชเชคเชฎเชพเช, เชคเซเชจเชพ เชจเชพเชฎ เชฆเซเชตเชพเชฐเชพ เชเซเชเซเชเชธ เชฌเซเชเช
เชชเชจเซ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเซเช เชถเชเซเชฏ เชเซ. เช
เชนเซเช เชนเซเช เช เชเซเช
3. เชเซเชฒเชธเซเชเชฐ เชถเชฐเซ เชเชฐเซ:
sudo pg_ctlcluster 11 main start
เชฌเซเชเช เชช เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเซเชฏเชพ เชชเชเซ, เช เชฎเชพเชฐเซ เชฌเซเชเซเช เชฌเซเชเช เชช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
เชญเชเชกเชพเชฐ (pgbackrest เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ):
sudo pgbackrest --stanza=main backup
เชฌเชธ เชเชเชฒเซเช เช. เชจเชฟเชทเซเชเชฐเซเชทเชฎเชพเช, เชนเซเช เชคเชฎเชจเซ เชฏเชพเชฆ เช เชชเชพเชตเชตเชพ เชฎเชพเชเชเซ เชเซเช เชเซ เชนเซเช เชเซเช เชชเชฃ เชฐเซเชคเซ เชตเชฐเชฟเชทเซเช เชกเซเชฌเซเช เชนเซเชตเชพเชจเซ เชขเซเชเช เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชฐเชนเซเชฏเซ เชจเชฅเซ เช เชจเซ เชธเชนเซเช เชคเช เชชเชฐ เชตเชพเชฆเชณเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถ. เชนเชพเชฒเชฎเชพเช, เชนเซเช เชชเซเชคเซ เชฌเซเชเช เชช, เชชเซเชฐเชคเชฟเชเซเชคเชฟ, เชฎเซเชจเซเชเชฐเซเชเช เชตเชเซเชฐเซ เชเซเชตเชพ เชตเชฟเชตเชฟเชง เชตเชฟเชทเชฏเซเชจเซ เช เชญเซเชฏเชพเชธ เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซ เชฐเชนเซเชฏเซ เชเซเช. เช เชจเซ เชนเซเช เชธเชฎเซเชฆเชพเชฏเชฎเชพเช เชจเชพเชจเซเช เชฏเซเชเชฆเชพเชจ เชเชชเชตเชพ เช เชจเซ เชฎเชพเชฐเชพ เชฎเชพเชเซ เชจเชพเชจเซ เชเซเช เชถเซเชเซเชธ เชเซเชกเชตเชพ เชฎเชพเชเซ เชชเชฐเชฟเชฃเชพเชฎเซ เชตเชฟเชถเซ เชจเชพเชจเชพ เช เชนเซเชตเชพเชฒเซ เชฒเชเซเช เชเซเช.
เชจเซเชเซเชจเชพ เชฒเซเชเซเชฎเชพเช เชนเซเช เชตเชงเชพเชฐเชพเชจเซ เชธเซเชตเชฟเชงเชพเช เชตเชฟเชถเซ เชตเชพเชค เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชถ - เชธเซเชตเชเซเช เชเซเชฒเชธเซเชเชฐเชฎเชพเช เชกเซเชเชพ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชคเชฟ, เชฌเซเชเช
เชชเซเชธเชจเซเช เชเชจเซเชเซเชฐเชฟเชชเซเชถเชจ เช
เชจเซ S3 เชชเชฐ เชชเซเชฐเชเชพเชถเชจ, rsync เชฆเซเชตเชพเชฐเชพ เชฌเซเชเช
เชช.
เชธเซเชฐเซเชธ: www.habr.com