π rsync: ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π² Linux

ΠΠ΅ΡΡΠ΅ΠΊΡΠ½Π° Π·Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ, ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΌΡΠ΅ΠΆΠ°.
π§ ΠΡΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
rsync
Π΅ Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² Linux. Π’Ρ Π΅ Π±ΡΡΠ·Π°, ΡΠΈΠ³ΡΡΠ½Π°, ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π³ΡΠ²ΠΊΠ°Π²Π° ΠΈ ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ Ρ ΠΏΡΠ°Π²ΠΈ ΠΈΠ΄Π΅Π°Π»Π½Π° Π·Π°:
- β Backup ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ
- β Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ²ΡΡΠΈ
- β ΠΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ ΠΏΠΎ SSH
- β ΠΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ Π°ΡΡ ΠΈΠ²ΠΈ
- β ΠΠ³Π»Π΅Π΄Π°Π»Π½ΠΈ ΠΊΠΎΠΏΠΈΡ
βοΈ ΠΡΠ½ΠΎΠ²Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
rsync [ΠΎΠΏΡΠΈΠΈ] ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ ΡΠ΅Π»
ΠΠ°ΠΉ-ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΠΏΡΠΈΠΈ:
ΠΠΏΡΠΈΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
---|---|
-a | ΠΡΡ ΠΈΠ²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ (Π·Π°ΠΏΠ°Π·Π²Π° ΠΏΡΠ°Π²Π°, Π»ΠΈΠ½ΠΊΠΎΠ²Π΅, ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠΈ ΠΈ Π΄Ρ.) |
-v | ΠΠΎΠ΄ΡΠΎΠ±Π΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ (verbose) |
-z | ΠΠΎΠΌΠΏΡΠ΅ΡΠΈΡ ΠΏΡΠΈ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ |
-h | Π§ΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΌ ΠΈΠ·Ρ ΠΎΠ΄ |
-P | ΠΡΠΎΠ³ΡΠ΅Ρ + Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ |
--delete | ΠΠ·ΡΡΠΈΠ²Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π² ΡΠ΅Π»ΡΠ°, ΠΊΠΎΠΈΡΠΎ Π»ΠΈΠΏΡΠ²Π°Ρ Π² ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ° |
π¦ ΠΡΠΈΠΌΠ΅ΡΠΈ ΠΎΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ°
πΉ 1. ΠΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
rsync -avhP /home/user/ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ/ /mnt/backup/ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ/
πΉ 2. Π Π΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° ΡΠ΅Π»ΠΈΡ /etc/
sudo rsync -avh /etc/ /backup/etc/
πΉ 3. Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π° ΡΡΡΠ²ΡΡΠ° ΡΡΠ΅Π· SSH
rsync -avzP -e ssh /var/www/ user@server:/var/www/
Π Π°Π±ΠΎΡΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎ Ρ ΠΊΠ»ΡΡΠΎΠ² Π΄ΠΎΡΡΡΠΏ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅.
πΉ 4. ΠΠ³Π»Π΅Π΄Π°Π»Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅ ΡΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅
rsync -av βdelete /ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ/ /ΡΠ΅Π»/
πΉ 5. ΠΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ backup Ρ Π΄Π°ΡΠ°
rsync -avh /home/user/ /mnt/backups/$(date +%F)/
Π‘ΡΠ·Π΄Π°Π²Π° Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Π° Π°ΡΡ ΠΈΠ²Π½Π° ΠΏΠ°ΠΏΠΊΠ° Ρ ΡΠ΅ΠΊΡΡΠ°ΡΠ° Π΄Π°ΡΠ° (Π½Π°ΠΏΡ.
2025-05-13
).
π ΠΠΎΠΏΠΈΡΠ°Π½Π΅ ΠΏΡΠ΅Π· SSH (Ρ custom ΠΏΠΎΡΡ)
rsync -avz -e βssh -p 2222β /home/user/ user@host:/backup/
π ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ backup ΡΡΡ cron
Π‘ΡΠ·Π΄Π°ΠΉ ΡΠ°ΠΉΠ»:
crontab -e
Π Π΄ΠΎΠ±Π°Π²ΠΈ ΡΠ΅Π΄ Π·Π° Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π΅Π½ backup Π² 2:00 ΡΡΡΡΠΈΠ½ΡΠ°:
0 2 * * * rsync -a βdelete /home/user/ /mnt/backup/ >> /var/log/rsync.log 2>&1
π§ ΠΠΎΠ»Π΅Π·Π½ΠΈ alias-ΠΈ
ΠΠΎΠ±Π°Π²ΠΈ Π² .bashrc
ΠΈΠ»ΠΈ .zshrc
:
alias rsbackup=βrsync -avhP βdeleteβ
π§ͺ Π‘ΠΈΠΌΡΠ»Π°ΡΠΈΡ Π½Π° ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ (dry run)
rsync -avh βdry-run /ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ/ /ΡΠ΅Π»/
ΠΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊΠ²ΠΎ Π±ΠΈ ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ°Π»ΠΎ, Π±Π΅Π· ΡΠ΅Π°Π»Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ β ΡΡΠ΄Π΅ΡΠ½ΠΎ Π·Π° ΡΠ΅ΡΡΠΎΠ²Π΅.
π ΠΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
Π‘ΡΠ·Π΄Π°ΠΉ ΡΠ°ΠΉΠ» exclude.txt
ΡΡΡ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅:
markdownΠΠΎΠΏΠΈΡΠ°Π½Π΅Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅*.iso
node_modules/
*.bak
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π°:
rsync -av βexclude-from=βexclude.txtβ /ΠΏΠ°ΠΏΠΊΠ°/ /Π°ΡΡ
ΠΈΠ²/
π ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅
rsync -avhP /Π³ΠΎΠ»ΡΠΌΠ°_ΠΏΠ°ΠΏΠΊΠ°/ /ΡΠ΅Π»/
ΠΠΏΡΠΈΡΡΠ°
-P
ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΠΊΠΎΡΠΎΡΡ, ΠΎΡΡΠ°Π²Π°ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΈ ΠΏΡΠΎΠ³ΡΠ΅Ρ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΠ».
π‘οΈ ΠΠΎΠ»Π΅Π·Π΅Π½ Π·Π° Proxmox, Docker, WordPressβ¦
rsync
ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ°ΡΠΎΠ²ΠΎ Π² ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π·Π°:
- π Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΠ΅Π± Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π² WordPress
- π³ Backup Π½Π° Docker volumes
- π₯οΈ ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² Proxmox
- π§° ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½ΠΈ ΠΊΠΎΠΏΠΈΡ Π² Linux ΡΡΡΠ²ΡΡΠΈ
β
ΠΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° ΠΏΡΠ΅Π΄ scp
ΠΈΠ»ΠΈ cp
Π€ΡΠ½ΠΊΡΠΈΡ | cp | scp | rsync |
---|---|---|---|
ΠΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ | β | β | β |
ΠΠΎΠΌΠΏΡΠ΅ΡΠΈΡ | β | β | β |
Π‘ΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ | β | β | β |
ΠΡΠΎΠ³ΡΠ΅Ρ Π±Π°Ρ | β | β | β |
ΠΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ | β | β | β |
𧨠ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉ
--delete
ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΡΠΈ ΡΠΈΠ³ΡΡΠ΅Π½, ΡΠ΅ Π½Π΅ ΠΈΡΠΊΠ°Ρ Π΄Π° Π·Π°ΠΏΠ°Π·Π²Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² ΡΠ΅Π»ΡΠ°. - Π£Π²Π΅ΡΠΈ ΡΠ΅, ΡΠ΅ Π½ΡΠΌΠ° ΠΎΠ±ΡΡΠΊΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ
/Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ/
ΠΈ/Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
β ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ/
ΠΈΠΌΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅!
π ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
rsync
Π΅ Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΏΠΎΠ»Π΅Π·Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² Linux. ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΠΉ Ρ ΡΡΡ cron
, SSH
ΠΈ ΠΌΠ°Π»ΠΊΠΎ ΠΊΡΠ΅Π°ΡΠΈΠ²Π½ΠΎΡΡ ΠΈ ΡΠ΅ ΠΈΠΌΠ°Ρ ΠΌΠΎΡΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈ Π°ΡΡ
ΠΈΠ²ΠΈ, ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π·Π°ΡΠΈΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅.