ΠΠΎΠΌΠ°ΡΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΊ Π·Π°Π½ΡΡΠΈΡ "Π Π΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
" - Π‘ΡΡΠ΅ΠΊΠΎΠ·ΠΎΠ² ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ
ΠΠ΅ΠΉΡ
Π€ΠΈΠ½Π°Π½ΡΠΎΠ²Π°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΡΠ΅ΡΠΈΠ»Π° ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΈΡ
ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ Π² ΡΠ»ΡΡΠ°ΡΡ
:
1.1. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΎΠ±ΡΡΠΌΠ΅ Π·Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π΄Π΅Π½Ρ.
Π― Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΡΠΉ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡΠΉ Π±ΡΠΊΠ°ΠΏ, Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ Π³Π»ΡΠ±ΠΈΠ½ΠΎΠΉ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΡ 1 Π΄ΠΎ 7 Π΄Π½Π΅ΠΉ.
1.2. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π·Π° ΡΠ°Ρ Π΄ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠΉ ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈ.
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΠΎΠΌΠΊΠ° ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»Π°ΡΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ½Π΅ΠΏΡΠΎΡ ΠΠ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°Π±ΠΎΡΠ°ΠΌΠΈ. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½Π°Ρ ΠΏΠΎΠ»ΠΎΠΌΠΊΠ°, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΡ. Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π²ΡΠ³ΡΡΠΆΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» Π½Π° Π΅ΠΆΠ΅ΡΠ°ΡΠ½ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅.
1.3.* ΠΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π»ΠΈ ΠΊΠ΅ΠΉΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΏΠΎΠ»ΠΎΠΌΠΊΠ΅ Π±Π°Π·Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΠ»ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΈΠ½Π΅Π½Π½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.
ΠΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Ρ ΡΠΎΠ»Ρ ΠΌΠ°ΡΡΠ΅ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡΠΈΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
2.1. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΠ (pgdump/pgrestore).
Π Π΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² sql ΡΠΊΡΠΈΠΏΡ:
$ pg_dump mydb > db.sql
Π Π΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π°ΡΡ ΠΈΠ²:
$ pg_dump -Fc mydb > db.dump
ΠΡΠΎΠΏΠ½ΡΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΠ ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°ΡΡ Π΅Ρ ΠΈΠ· Π΄Π°ΠΌΠΏΠ°:
$ dropdb mydb
$ pg_restore -C -d postgres db.dump
2.1.* ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ? ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΊΠ°ΠΊ?
ΠΠΎΠΆΠ½ΠΎ, ΡΠ΅ΡΠ΅Π· Π±Π°Ρ ΡΠΊΡΠΈΠΏΡ + Π·Π°Π΄Π°Π½ΠΈΠ΅ Π² crontab.
Script:
#!/bin/bash
BACKUP_DIR="/data/psql-db-backup/"
FILE_NAME=$BACKUP_DIR`date +%d-%m-%Y-%I-%M-%S-%p`.sql
pg_dump -U db_user db_name > $FILE_NAME
Crontab entry:
0 */3 * * * /data/postgresql-backup.s
3.1. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
MySQL.
Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ Π»ΠΎΠ³ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ(ΠΏΠΎ ΡΡΡΠΈ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ), ΡΠΎΡ
ΡΠ°Π½ΠΈΠ² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ Π»ΠΎΠ³.
mysqladmin -uroot -p flush-logs
Π§ΡΠΎΠ±Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΡΠΉ Π±ΡΠΊΠ°ΠΏ:
mysqlbinlog /var/log/mysql/mysql-bin.000002 | mysql -uroot -p mydb
3.1.* Π ΠΊΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π΄Π°Π²Π°ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠΌ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ?
Π Π΅ΠΏΠ»ΠΈΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡΡΡ ΠΠ. Π ΡΠ»ΡΡΠ°Π΅ Ρ Π±ΡΠΊΠ°ΠΏΠΎΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.