Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati

Π’ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ΅ рассмотрСны срСдства Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΌ создания Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΌ сСрвСрС.

Из Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ трСбованиям β€” duplicity (ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΅ΡΡ‚ΡŒ приятный интСрфСйс Π² Π²ΠΈΠ΄Π΅ deja dup) ΠΈ duplicati.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ вСсьма ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ срСдство Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования β€” dar, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ Π½Π΅Π³ΠΎ имССтся вСсьма ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ список ΠΎΠΏΡ†ΠΈΠΉ β€” ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° тСстирования ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΅Π΄Π²Π° Π»ΠΈ 10% ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π½Π° Ρ‡Ρ‚ΠΎ ΠΎΠ½ способСн, β€” Π΅Π³ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π½Π΅ тСстируСм.

ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±Π° ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π°Ρ€Ρ…ΠΈΠ²Ρ‹, Ρ‚ΠΎ Π² качСствС ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ tar.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠΌ, насколько Ρ…ΠΎΡ€ΠΎΡˆΠΎ оптимизируСтся Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСрС хранСния ΠΏΡƒΡ‚Π΅ΠΌ создания Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ, содСрТащих Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠ΅ΠΉ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ состояниСм Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΌ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌΠΈ (ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅, Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Ρ‚.ΠΏ.).

ПовСдСниС ΠΏΡ€ΠΈ создании Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ:

  1. Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшоС число Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° сСрвСрС хранСния Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ (сравнимо с числом Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π³Π±), Π½ΠΎ достаточно большой ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ (дСсятки-сотни ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚).
  2. Π Π°Π·ΠΌΠ΅Ρ€ рСпозитория Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния β€” Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ рСпозитория Π±ΡƒΠ΄Π΅Ρ‚ мСньшС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ПО Π½Π° основС rsync.
  3. ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ΡΡ большая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° процСссор ΠΏΡ€ΠΈ использовании сТатия ΠΈ/ΠΈΠ»ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Π° Ρ‚Π°ΠΊΠΆΠ΅, вСроятно, достаточно большая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° ΡΠ΅Ρ‚ΡŒ ΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ подсистСму, Ссли процСсс Π°Ρ€Ρ…ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΈ/ΠΈΠ»ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° сСрвСрС хранСния Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ.

Π’ качСствС эталонного значСния запустим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

cd /src/dir; tar -cf - * | ssh backup_server "cat > /backup/dir/archive.tar"

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Ρ‚Π°ΠΊΠΈΠ΅:

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati

ВрСмя выполнСния 3m12s. Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΡƒΠΏΠ΅Ρ€Π»Π°ΡΡŒ Π² Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ подсистСму сСрвСра хранСния Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с rsync. Волько Ρ‡ΡƒΡ‚ΡŒ быстрСС, Ρ‚.ΠΊ. запись ΠΈΠ΄Π΅Ρ‚ Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ».

Π’Π°ΠΊΠΆΠ΅ для ΠΎΡ†Π΅Π½ΠΊΠΈ сТатия запустим Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ сТатиС Π½Π° сторонС сСрвСра Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования:

cd /src/dir; tar -cf - * | ssh backup_server "gzip > /backup/dir/archive.tgz"

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠ²Ρ‹:

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati

ВрСмя выполнСния 10m11s. ВСроятнСС всСго, ΡƒΠ·ΠΊΠΎΠ΅ мСсто β€” ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ компрСссор Π½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΉ сторонС.

Π’Π° ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π½ΠΎ с пСрСносом сТатия Π½Π° сСрвСр с исходными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π³ΠΈΠΏΠΎΡ‚Π΅Π·Ρ‹, Ρ‡Ρ‚ΠΎ ΡƒΠ·ΠΊΠΎΠ΅ мСсто β€” ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ компрСссор.

cd /src/dir; tar -czf - * | ssh backup_server "cat > /backup/dir/archive.tgz"

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Ρ‚Π°ΠΊ:

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati

ВрСмя выполнСния составило 9m37s. Π―Π²Π½ΠΎ Π²ΠΈΠ΄Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ядра компрСссором, Ρ‚.ΠΊ. ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎ сСти ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ подсистСму источника β€” Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅.

Для ΠΎΡ†Π΅Π½ΠΊΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ openssl ΠΈΠ»ΠΈ gpg, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ openssl ΠΈΠ»ΠΈ gpg Π² pipe. Для ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π° Π±ΡƒΠ΄Π΅Ρ‚ такая ΠΊΠΎΠΌΠ°Π½Π΄Π°:

cd /src/dir; tar -cf - * | ssh backup_server "gzip | openssl enc -e -aes256 -pass pass:somepassword -out /backup/dir/archive.tgz.enc"

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π²Ρ‹ΡˆΠ»ΠΈ Ρ‚Π°ΠΊΠΈΠ΅:

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati

ВрСмя выполнСния ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ 10m30s, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ 2 процСсса Π½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΉ сторонС β€” ΡƒΠ·ΠΊΠΎΠ΅ мСсто ΠΎΠΏΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ компрСссор, плюс нСбольшиС Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅.

UPD: По ΠΏΡ€ΠΎΡΡŒΠ±Π΅ bliznezz добавляю тСсты с pigz. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ компрСссор β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π·Π° 6m30s, Ссли Π΅Ρ‰Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 7m. ΠŸΡ€ΠΎΠ²Π°Π» Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ β€” Π½Π΅ΡΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ дисковый кэш:

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati

ВСстированиС duplicity

Duplicity β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π½Π° python для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΏΡƒΡ‚Π΅ΠΌ создания ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ tar.

Для ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² примСняСтся librsync, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ повСдСния, описанного Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π°.

Π Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ gnupg, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΈ использовании Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² для хранСния Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ (s3, backblaze, gdrive ΠΈ Ρ‚.ΠΏ.)

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΡ€ΠΈ запускС Π±Π΅Π· ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ

спойлСр

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati

ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ тСстового запуска:

Запуск 1
Запуск 2
Запуск 3

16m33s
17m20s
16m30s

8m29s
9m3s
8m45s

5m21s
6m04s
5m53s

А Π²ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ gnupg, с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΊΠ»ΡŽΡ‡Π° 2048 Π±ΠΈΡ‚:

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati

ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Ρ‚Π΅Ρ… ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, с ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ:

Запуск 1
Запуск 2
Запуск 3

17m22s
17m32s
17m28s

8m52s
9m13s
9m3s

5m48s
5m40s
5m30s

Π‘Ρ‹Π» ΡƒΠΊΠ°Π·Π°Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° β€” 512 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Ρ‡Π΅Ρ‚Π»ΠΈΠ²ΠΎ Π²ΠΈΠ΄Π½ΠΎ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ…; Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° процСссора фактичСски Π΄Π΅Ρ€ΠΆΠ°Π»Π°ΡΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ 50%, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΡ‚ΠΈΠ»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ процСссорного ядра.

Π’Π°ΠΊΠΆΠ΅ достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: взяли кусочСк Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠΆΠ°Π»ΠΈ Π΅Π³ΠΎ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ»ΠΈ Π½Π° сСрвСр хранСния Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ достаточно ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ.
Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ β€” прСдсказуСмоС врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ зависит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ особСнно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ повысило Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ процСссора ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 10%, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вСсьма Π½Π΅ΠΏΠ»ΠΎΡ…ΠΈΠΌ приятным бонусом.

К соТалСнию, данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ смогла ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ с ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ рСпозитория оказался Ρ€Π°Π²Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Ρ‚.Π΅. всС 18Π³Π±), Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΉ сСрвСр для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.

ВСстированиС duplicati

Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС написано Π½Π° C#, запускаСтся, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΎΡ‚ Mono. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ GUI, Π° Ρ‚Π°ΠΊΠΆΠ΅ cli вСрсия.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½Ρ‹ΠΉ список основных возмоТностСй Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ duplicity, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² для хранСния Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ duplicity, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ возмоТностСй доступно Π±Π΅Π· сторонних срСдств. Плюс это ΠΈΠ»ΠΈ минус β€” зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ случая, ΠΎΠ΄Π½Π°ΠΊΠΎ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², вСроятнСС всСго, ΠΏΡ€ΠΎΡ‰Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π³Π»Π°Π·Π°ΠΌΠΈ список сразу всСх возмоТностСй, Π½Π΅ΠΆΠ΅Π»ΠΈ Π΄ΠΎΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для python, ΠΊΠ°ΠΊ Π² случаС с duplicity.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ нСбольшой нюанс β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π±Π°Π·Ρƒ sqlite ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запускаСт Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, поэтому Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π½ΡƒΠΆΠ½ΠΎΠΉ Π±Π°Π·Ρ‹ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС процСсса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ cli. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· GUI ΠΈΠ»ΠΈ WEBGUI Π΄Π΅Ρ‚Π°Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ скрыты ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ Π΄Π°Π½Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅:

Если Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΏΡ€ΠΈΡ‡Π΅ΠΌ WEBGUI Π΄Π΅Π»Π°Ρ‚ΡŒ этого Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚), Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΎΠ²Ρ‹:

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati

ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹:

Запуск 1
Запуск 2
Запуск 3

20m43s
20m13s
20m28s

5m21s
5m40s
5m35s

7m36s
7m54s
7m49s

Π‘ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ aes, получаСтся Ρ‚Π°ΠΊ:

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati

ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹:

Запуск 1
Запуск 2
Запуск 3

29m9s
30m1s
29m54s

5m29s
6m2s
5m54s

8m44s
9m12s
9m1s

А Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшнюю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ gnupg, выходят Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati

Запуск 1
Запуск 2
Запуск 3

26m6s
26m35s
26m17s

5m20s
5m48s
5m40s

8m12s
8m42s
8m15s

Как Π²ΠΈΠ΄Π½ΠΎ β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Π½ΠΎ ΠΎΡ‚ этого Π½Π΅ являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, Π° Ссли ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ β€” запуск внСшнСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
получился Π±ΠΎΠ»Π΅Π΅ быстрым, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Mono. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ внСшняя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° большС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°.

ΠŸΡ€ΠΈΡΡ‚Π½Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ стал Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ рСпозитория Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€ΠΎΠ²Π½ΠΎ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, сколько Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚.Π΅. duplicati ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π» Π΄Π°Π½Π½ΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³ΠΎΠ½Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ тСста.

Π’ Ρ†Π΅Π»ΠΎΠΌ, достаточно ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ впСчатлСния ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΡƒΡŽ Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½ΠΎΡΡ‚ΡŒ ΠΊ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

Оба ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π° достаточно нСспСшно ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ, Π½ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ tar, Π΅ΡΡ‚ΡŒ прогрСсс, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Ρƒ duplicati. Π¦Π΅Π½Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ прогрСсса Ρ‚Π°ΠΊΠΆΠ΅ понятна β€” замСтная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°
процСссора. Π’ Ρ†Π΅Π»ΠΎΠΌ, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… особых ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π΅Ρ‚.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Если Π½ΠΈΠΊΡƒΠ΄Π° ΡΠΏΠ΅ΡˆΠΈΡ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ запас ΠΏΠΎ процСссору β€” ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ любоС ΠΈΠ· рассмотрСнных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Π²ΠΎ всяком случаС ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π° достаточно большая Ρ€Π°Π±ΠΎΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ стоит ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΏΡƒΡ‚Π΅ΠΌ написания скриптов-ΠΎΠ±Π΅Ρ€Ρ‚ΠΎΠΊ ΠΏΠΎΠ²Π΅Ρ€Ρ… tar. НаличиС ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ вСсьма Π½ΡƒΠΆΠ½ΠΎΠ΅ свойство, Ссли сСрвСр для хранСния Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ.

Если ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ с Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ Π½Π° основС rsync β€” ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΡƒΠΆΠ΅ Π² нСсколько Ρ€Π°Π·, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² чистом Π²ΠΈΠ΄Π΅ tar ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π» быстрСС rsync Π½Π° 20-30%.
Экономия Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ рСпозитория Π΅ΡΡ‚ΡŒ, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ duplicati.

Анонс

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 1: Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±Π·ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 2: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС rsync-based срСдств Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 3: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС duplicity, duplicati, deja dup
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 4: ΠžΠ±Π·ΠΎΡ€ ΠΈ тСстированиС zbackup, restic, borgbackup
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 5: ВСстированиС bacula ΠΈ veeam backup for linux
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 6: Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ срСдств Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования
Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Π°ΡΡ‚ΡŒ 7: Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Автор ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: ПавСл Π”Π΅ΠΌΠΊΠΎΠ²ΠΈΡ‡

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com