рддреНрдпрд╛рдЧрдореИрдВ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВред рдореИрдВ рдХреЛрдб рд▓рд┐рдЦрддрд╛ рд╣реВрдВ, рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддрд╛ рд╣реВрдВред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рд╣реЛрдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рдФрд░, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдбреАрдмреАрдПред рд▓реЗрдХрд┐рди ...
рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рдкреЛрд╕реНрдЯрдЧреНрд░реИрд╕рдХреНрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдмреИрдХрдЕрдк рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдХреЛрдИ рдмрд╛рджрд▓ рдирд╣реАрдВ - рдПрд╕рдПрд╕рдПрдЪ рд░рдЦреЗрдВ рдФрд░ рдЗрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ рдФрд░ рдкреИрд╕реЗ рди рдорд╛рдВрдЧреЗрдВред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣рдо рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ? рдпрд╣ рд╕рд╣реА рд╣реИ, рд╣рдо pgdump рдХреЛ cron рдореЗрдВ рдзрдХреЗрд▓рддреЗ рд╣реИрдВ, рд╣рд░ рджрд┐рди рд╣рдо рдЖрд░реНрдХрд╛рдЗрд╡ рдореЗрдВ рд╕рдм рдХреБрдЫ рдмреИрдХрдЕрдк рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлреИрд▓ рдЧрдП рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдХрд╣реАрдВ рдирд░реНрдХ рдореЗрдВ рднреЗрдЬ рджреЗрддреЗ рд╣реИрдВред
рдЗрд╕ рдмрд╛рд░, рдХрдард┐рдирд╛рдИ рдпрд╣ рдереА рдХрд┐ рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдзрд╛рд░ рдХреЛ рдкреНрд░рддрд┐ рджрд┐рди рд▓рдЧрднрдЧ + - 100 рдПрдордмреА рддрдХ рдмрдврд╝рдирд╛ рдерд╛ред рдмреЗрд╢рдХ, рдХреБрдЫ рд╣рдлреНрддреЛрдВ рдореЗрдВ, pgdump рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдмреИрдХрдЕрдк рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрд╣рд╛рдБ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмреИрдХрдЕрдк рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВред
рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ? рдмрд┐рд▓реНрд▓реА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмреИрдХрдЕрдк рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдмреИрдХрдЕрдк рд╣реИ рдЬрдм рд╕рднреА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдмреИрдХрдЕрдк рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реЗ рдмреИрдХрдЕрдк рдХреЗ рдмрд╛рдж рд╕реЗ рдХреЗрд╡рд▓ рдирдпрд╛ рдФрд░ рдмрджрд▓рд╛ рд╣реБрдЖред
рдХрд┐рд╕реА рднреА рдбреЗрд╡рд▓рдкрд░ рдХреА рддрд░рд╣, рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ (рдЙрд╕ рд╕рдордп) рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреА рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдереЗ, рдореИрдВ рдПрдХ рд╣рд░реЗ рдмрдЯрди рдХреЛ рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдареАрдХ рд╣реИ, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕, рдбрд┐рдЬрд┐рдЯрд▓ рдСрдЗрди рдореЗрдВ: рдПрдХ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ - рдкреНрд░рддрд┐рдХреГрддрд┐ рдорд┐рд▓реА, рджреВрд╕рд░реЗ - рд╕реЗрдЯ рдмреИрдХрдЕрдк рдкрд░ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛, рддреАрд╕рд░рд╛ - рдпрд╣ рдХреБрдЫ рдШрдВрдЯреЗ рдкрд╣рд▓реЗ рд╡рд╛рдкрд╕ рд▓реБрдврд╝рдХрд╛ред рдмрдЯрди рдФрд░ рдПрдХ рд╕реБрдВрджрд░ рдЬреАрдпреВрдЖрдИ рдЙрдкрдХрд░рдг рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдпрд╣ рдЬрд╛рдирддреЗ рд╣реИрдВ (рдореБрдлреНрдд рдпрд╛ рд╕рд╕реНрддрд╛) - рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦреЗрдВред
Googling, рдореБрдЭреЗ рджреЛ рдЙрдкрдХрд░рдг
pgbarman рдФрд░
pgbackrest рдорд┐рд▓реЗ ред рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ (рдмрд╣реБрдд рдЕрд▓реНрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг, рдореИрдВрдиреЗ рдкреБрд░рд╛рдиреА рдкреБрд╕реНрддрд┐рдХрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдм рдХреБрдЫ рдЬреБрдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА), рд▓реЗрдХрд┐рди рджреВрд╕рд░рд╛ рдПрдХ рд╕реНрддрд░ рдкрд░ рдирд┐рдХрд▓рд╛, рд▓реЗрдХрд┐рди рдЦрд╛рдорд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдПрдХ рд╕рдорд╛рди рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдмреИрдХрдЕрдк рдХреИрд╕реЗ рдмрдирд╛рдПрдВ, рдЙрдиреНрд╣реЗрдВ рдПрдХ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ (рдмреИрдХрдЕрдк рдХреЗ рд╕рд╛рде рднрдВрдбрд╛рд░) рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рдпрд╛ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рдЯреНрд░реЗрдирд┐рдВрдЧ
рдореИрдиреБрдЕрд▓ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рджреЛ рд╡реАрдкреАрдПрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдкрд╣рд▓рд╛ рд╣реЛрдЧрд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА (рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЬрд┐рд╕ рдкрд░ рдмреИрдХрдЕрдк рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛), рдФрд░ рджреВрд╕рд░рд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рд░реНрд╡рд░ рд╕реНрд╡рдпрдВ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд╕рд╛рде (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреЛрд╕реНрдЯ 11 рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 11)ред
рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд░реВрдЯ, sudo рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕реНрд╡рдпрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИ (рдкреЛрд╕реНрдЯрдЧреНрд░реИрд╕реНрдХрд▓ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рд░реВрдЯ рдФрд░ sudo рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо pgbackrest рдореИрдиреНрдпреБрдЕрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛) ред
рддрд╛рдХрд┐ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдХрдо рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдВ - рдЗрдЯреИрд▓рд┐рдХ рдореЗрдВ рдореИрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ
рдХрд┐ рдХрд╣рд╛рдВ, рдХрд┐рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдХрд┐рди рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдореИрдВрдиреЗ рд▓реЗрдЦ рд▓рд┐рдЦрддреЗ рдФрд░ рдЬрд╛рдВрдЪрддреЗ рд╕рдордп
рдХрдорд╛рдВрдб рдХреЛ
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рд╣реИ ред
Pgbackrest рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ pgbackrest):1. рд╕рдВрдЧреНрд░рд╣ рдХреЛ pgbackrest рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЙрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ / рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ:
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
рд╕рд░реНрд╡рд░ (sudo рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд░реВрдЯ) рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХрд░рддрд╛ рд╣реИ:рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдкрд░ 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 рдХреЗ рдмрд┐рдирд╛ рдЙрдкрд░реЛрдХреНрдд рдЖрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рд╕рд░реНрд╡рд░ (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 ""
рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА (sudo рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛):рдкреЛрд╕реНрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕рд░реНрд╡рд░ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ:
(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
рдЗрд╕ рдЪрд░рдг рдкрд░, рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдорд╛рдВрдЧреЗрдЧрд╛ред рдЖрдкрдХреЛ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдпреВрдЬрд░ рдХрд╛ рд░реВрдЯ рдкрд╛рд╕рд╡рд░реНрдб рдбрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛!
рд╕рд░реНрд╡рд░ (sudo рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ:рдбрд╛рдХ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреА рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ:
(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>
рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдкрд╣реБрдБрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдХреА рд╕реНрдерд╛рдкрдирд╛
рд╕рд░реНрд╡рд░ (sudo рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд░реВрдЯ) рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХрд░рддрд╛ рд╣реИ:1. рдЖрдЗрдП рдмрд╛рд╣рд░реА рдЖрдИ рдкреА рд╕реЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдкрд░ "рджрд╕реНрддрдХ" рджреЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
postgresql.conf рдлрд╝рд╛рдЗрд▓ (/ / / / 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. рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП pgbackrest рдХреЗ рд▓рд┐рдП
postgresql.conf (рдпрд╣ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ
/ etc / postgresql / 11 / main ) рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд░реЗрдВ:
archive_command = 'pgbackrest --stanza=main archive-push %p'
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
рднрдВрдбрд╛рд░рдг рд╕реГрдЬрди
рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА (pgbackrest рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛):рдореБрдЦреНрдп рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╕рдВрдЧреНрд░рд╣рдг рдмрдирд╛рдПрдВ:
sudo mkdir -m 770 /var/lib/pgbackrest sudo chown -R pgbackrest /var/lib/pgbackrest/ sudo -u pgbackrest pgbackrest --stanza=main stanza-create
рдирд┐рд░реАрдХреНрд╖рдг
рд╕рд░реНрд╡рд░ (sudo рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд░реВрдЯ) рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХрд░рддрд╛ рд╣реИ:рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
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
рдмреИрдХрдЕрдк рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╕рд░реНрд╡рд░ (sudo рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд░реВрдЯ) рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХрд░рддрд╛ рд╣реИ:1. рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдХреНрд▓рд╕реНрдЯрд░ рдмрдВрдж рдХрд░реЛ:
sudo pg_ctlcluster 11 main stop
2. рд╣рдо рдмреИрдХрдЕрдк рд╕реЗ рдЙрдмрд░рддреЗ рд╣реИрдВ:
sudo -u postgres pgbackrest --stanza=main --delta restore
3. рдХреНрд▓рд╕реНрдЯрд░ рдЪрд▓рд╛рдПрдБ:
sudo pg_ctlcluster 11 main start
рдмреИрдХрдЕрдк рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рджреВрд╕рд░рд╛ рдмреИрдХрдЕрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА (pgbackrest рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛): sudo pgbackrest --stanza=main backup
рд╡рд╣ рд╕рдм рд╣реИред рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдореИрдВ рдЦреБрдж рдХреЛ рдПрдХ рд╡рд░рд┐рд╖реНрда рдбреАрдмреАрдП рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдереЛрдбрд╝реЗ рд╕реЗ рдЕрд╡рд╕рд░ рдкрд░, рдореИрдВ рдмрд╛рджрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореИрдВ рд╕реНрд╡рдпрдВ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╖рдпреЛрдВ рдЬреИрд╕реЗ рдмреИрдХрдЕрдк, рдкреНрд░рддрд┐рдХреГрддрд┐, рдирд┐рдЧрд░рд╛рдиреА рдЖрджрд┐ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рд▓рдЧрд╛ рд╣реВрдВред рдФрд░ рдореИрдВ рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдЫреЛрдЯреА рд░рд┐рдкреЛрд░реНрдЯ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ рдФрд░ рдЕрдкрдиреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ cribs рдЫреЛрдбрд╝рддрд╛ рд╣реВрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рдореИрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ - рдПрдХ рд╕реНрд╡рдЪреНрдЫ рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдбреЗрдЯрд╛ рд░рд┐рдХрд╡рд░реА, рдмреИрдХрдЕрдк рдХрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдФрд░ S3 рдкрд░ рдкреНрд░рдХрд╛рд╢рди, rsync рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреИрдХрдЕрдкред