π ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ rsync Π΄Π»Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π²Π°ΡΠΈΡ VDS
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ΅ΠΉΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Prod ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Backup. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡΡ rsync.
Π£ΡΠΈΠ»ΠΈΡΠ° rsync ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ ΠΏΠΎ ssh ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ:
- Sync method (ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ).
- Snapshot (ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ).
Π ΡΡΠ°ΡΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΎΠ±Π° ΠΌΠ΅ΡΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΠΉ backup ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ.
Π§ΡΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ:
- Π‘Π΅ΡΠ²Π΅Ρ Ρ OS Ubuntu 20.04 LTS β Prod.
- Π‘Π΅ΡΠ²Π΅Ρ Ρ OS Ubuntu 20.04 LTS β Backup.
ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ssh Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Prod:
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈΠ»ΠΈΡΠ° rsync ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π· ssh, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ:
ΠΠ°ΡΠ΅ΠΌ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ»ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Backup:
ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΡΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΠΏΠΎ SSH. ΠΠ°ΠΉΠ΄Π΅ΠΌ Π½Π° Π±ΡΠΊΠ°ΠΏ-ΡΠ΅ΡΠ²Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ssh:
ΠΠΈΠ΄ΠΈΠΌ ΡΡΠΎ ΠΌΡ Π·Π°ΡΠ»ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΈ Ρ Π½Π°Ρ Π½Π΅ ΡΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ :) Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Backup ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ backup
. Π‘ΡΠ΄Π° Π±ΡΠ΄Π΅ΠΌ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Prod. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° Prod ΡΠ΅ΡΠ²Π΅Ρ.
ΠΠ΅ΡΠΎΠ΄ Sync (ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ)
- ΠΡΠ»ΠΈ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
- ΠΡΠ»ΠΈ Π±ΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
- ΠΡΠ»ΠΈ Π±ΡΠ»ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Prod ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ Π² Π½Π΅ΠΉ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡΡ ΡΡΠΈΠ»ΠΈΡΠ° rsync:
ΠΡ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ Π² var
ΠΈ ΡΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ www
Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ 1.html
, index.html
, hello.html
.
ΠΠΎΡΡΠΈ Π³ΠΎΡΠΎΠ²ΠΎ :) ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ rsync Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
ΠΠΈΠ΄ΠΈΠΌ ΡΡΠΎ Π±ΡΠ»Π° ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Backup. Π’Π΅ΠΏΠ΅ΡΡ Π²Π½Π΅ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π£Π΄Π°Π»ΠΈΠΌ ΡΠ°ΠΉΠ» hello.html
ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» 2.html
:
ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΠΌ rsync:
ΠΠΈΠ΄ΠΈΠΌ ΡΡΠΎ rsync ΡΠ΄Π°Π»ΠΈΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅ backup
ΡΠ°ΠΉΠ» hello.html
ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π» ΡΡΠ΄Π° ΡΠ°ΠΉΠ» 2.html
. ΠΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ», Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΎΠ½ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π±Π΅ΠΊΠ°ΠΏΠ°:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ rsync, Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ sync.sh (Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ chmod):
ΠΠ΅ΡΠΎΠ΄ Snapshot (ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ)
Π£ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ Π±ΡΠΊΠ°ΠΏΠ° Π΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ. ΠΡΠ»ΠΈ Π²Ρ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ backup
. Π€Π°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΡΡΠ΅ΡΡΠ½Ρ. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ:
- ΠΠ΅Π»Π°Π΅ΠΌ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΡΠΉ backup ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄Π΅Π½Ρ ΡΡΡΠΎΠΌ Π² 09:30.
- ΠΠ΅Π»Π°Π΅ΠΌ ΠΏΠΎΠ»Π½ΡΠΉ backup (Snapshot) Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡΠ½ΠΎ Π² ΠΏΠΎΠ½Π΅Π΄Π΅Π»ΡΠ½ΠΈΠΊ 10:30.
Snapshot ΠΊΠ»Π°Π΄Π΅ΠΌ Π² ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ snapshot
Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Backup. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ snapshot.sh:
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ:
ΠΠ· Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ snapshot.sh Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π±ΡΠ»Π° ΡΠ΄Π΅Π»Π°Π½Π° ΠΈ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΏΠΎΠ»Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² backup Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π·Π°Π΄Π°ΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π½Π°Ρ backup. ΠΡ Π½Π΅ Π·ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ sync.sh ΠΈ snapshot.sh. Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ΅ Cron Π·Π°Π΄Π°Π½ΠΈΠ΅:
ΠΠΎΡΠΎΠ²ΠΎ! Π ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ΅ Π΄Π²Π° Π·Π°Π΄Π°Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ rsync ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈ ΡΠ°Π· Π² Π½Π΅Π΄Π΅Π»Ρ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠΏΠΈΡ.
ΠΠ»Ρ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠ°ΡΠΈΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠΉ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΡΡΠΏΠ½ΡΠΉ. Π’Π°ΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠΊΠΎΡΠ΅Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π½Π° ΠΏΡΠΎΠ΄Π΅ (ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ). Selectel ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΎΡΠ½Π°ΡΠ΅Π½Π½ΡΠ΅ 4-768 ΠΠ ΠΠΠ£, 2-72 ΡΠ΄ΡΠ°ΠΌΠΈ Π¦Π, Π° ΡΠ°ΠΊΠΆΠ΅ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Ρ ΠΈ Π²ΡΠ±ΡΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Π΄Π°ΠΆΠ΅ Raspberry Pi 4 (4/64 ΠΠ) ΠΈ Mac mini Π΄Π»Ρ iOS-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².