Skip to content

Svalker1989/Backup_Databases

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 

Repository files navigation

Π”ΠΎΠΌΠ°ΡˆΠ½Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΊ Π·Π°Π½ΡΡ‚ΠΈΡŽ "Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…" - Π‘Ρ‚Ρ€Π΅ΠΊΠΎΠ·ΠΎΠ² Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€

Π—Π°Π΄Π°Π½ΠΈΠ΅ 1. Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

КСйс
Ѐинансовая компания Ρ€Π΅ΡˆΠΈΠ»Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡ… Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования.
НСобходимо ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования подходят Π² случаях:
1.1. НСобходимо Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΎΠ±ΡŠΡ‘ΠΌΠ΅ Π·Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ дСнь.
Π― Π±Ρ‹ использовал ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹ΠΉ бэкап, с Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ хранСния ΠΎΡ‚ 1 Π΄ΠΎ 7 Π΄Π½Π΅ΠΉ.
1.2. НСобходимо Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π·Π° час Π΄ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠΉ ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈ.
Если ΠΏΠΎΠ»ΠΎΠΌΠΊΠ° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»Π°ΡΡŒ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ½Π΅ΠΏΡˆΠΎΡ‚ Π’Πœ ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π°Π±ΠΎΡ‚Π°ΠΌΠΈ. Если это случайная ΠΏΠΎΠ»ΠΎΠΌΠΊΠ°, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΡƒ. Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ измСнСния Π² Ρ„Π°ΠΉΠ» Π½Π° СТСчасно основС.
1.3.* Π’ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π»ΠΈ кСйс, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΠΎΠΌΠΊΠ΅ Π±Π°Π·Ρ‹ происходило ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ ΠΈΠ»ΠΈ ΠΏΠΎΡ‡ΠΈΠ½Π΅Π½Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….
Π”Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€ΠΎΠ»ΡŒ мастСра ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π—Π°Π΄Π°Π½ΠΈΠ΅ 2. PostgreSQL

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. MySQL

3.1. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… MySQL.
Боздаст Π½ΠΎΠ²Ρ‹ΠΉ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Π»ΠΎΠ³ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ(ΠΏΠΎ сути ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚), сохранив ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Π»ΠΎΠ³.
mysqladmin -uroot -p flush-logs
Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ бэкап:
mysqlbinlog /var/log/mysql/mysql-bin.000002 | mysql -uroot -p mydb
3.1.* Π’ ΠΊΠ°ΠΊΠΈΡ… случаях использованиС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ прСимущСство ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ?
Π Π΅ΠΏΠ»ΠΈΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ практичСски ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ Π‘Π”. Π’ случаС с бэкапом потрСбуСтся врСмя Π½Π° восстановлСниС.

About

postgresql,crontab, DB backup

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published