{"id":34954,"date":"2019-10-31T22:01:30","date_gmt":"2019-10-31T19:01:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rezervnoe-kopirovanie-chast-3-obzor-i-testirovanie-duplicity-duplicati\/"},"modified":"2019-10-31T22:01:30","modified_gmt":"2019-10-31T19:01:30","slug":"rezervnoe-kopirovanie-chast-3-obzor-i-testirovanie-duplicity-duplicati","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-3-obzor-i-testirovanie-duplicity-duplicati","title":{"rendered":"Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/5c043312994d60411dabba12b445a622.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>V tomto \u010dl\u00e1nku se zab\u00fdv\u00e1me z\u00e1lohovac\u00edmi n\u00e1stroji, kter\u00e9 prov\u00e1d\u011bj\u00ed z\u00e1lohu vytv\u00e1\u0159en\u00edm archivu na z\u00e1lo\u017en\u00edm serveru.<\/p>\n<p><\/p>\n<p>Z t\u011bch, kter\u00e9 spl\u0148uj\u00ed po\u017eadavky, jsou duplicity (k n\u011bmu\u017e existuje p\u0159\u00edjemn\u00e9 rozhran\u00ed ve form\u011b deja dup) a duplicati.<\/p>\n<p><\/p>\n<p>Dal\u0161\u00edm velmi pozoruhodn\u00fdm z\u00e1lohovac\u00edm n\u00e1strojem je dar, ale proto\u017ee m\u00e1 velmi rozs\u00e1hl\u00fd seznam mo\u017enost\u00ed \u2014 metodika testov\u00e1n\u00ed pokr\u00fdv\u00e1 sotva 10 % z toho, co dok\u00e1\u017ee \u2014 v r\u00e1mci aktu\u00e1ln\u00edho cyklu ho netestujeme.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"ozhidaemye-rezultaty\">O\u010dek\u00e1van\u00e9 v\u00fdsledky<\/h3>\n<p><\/p>\n<p>Proto\u017ee oba kandid\u00e1ti n\u011bjak\u00fdm zp\u016fsobem vytv\u00e1\u0159ej\u00ed archivy, lze jako orienta\u010dn\u00ed bod pou\u017e\u00edt b\u011b\u017en\u00fd tar.<\/p>\n<p><\/p>\n<p>D\u00e1le zhodnot\u00edme, jak dob\u0159e se optimalizuje ukl\u00e1d\u00e1n\u00ed dat na serveru z\u00e1lohov\u00e1n\u00ed t\u00edm, \u017ee vytvo\u0159\u00edme z\u00e1lohy obsahuj\u00edc\u00ed pouze rozd\u00edl mezi plnou kopi\u00ed a aktu\u00e1ln\u00edm stavem soubor\u016f, nebo mezi minul\u00fdmi a sou\u010dasn\u00fdmi archivy (inkrement\u00e1ln\u00ed, dekrement\u00e1ln\u00ed atd.).<\/p>\n<p><\/p>\n<p><strong>Chov\u00e1n\u00ed p\u0159i vytv\u00e1\u0159en\u00ed z\u00e1loh:<\/strong><\/p>\n<p><\/p>\n<ol>\n<li>Relativn\u011b mal\u00e9 mno\u017estv\u00ed soubor\u016f na serveru z\u00e1lohov\u00e1n\u00ed (srovnateln\u00e9 s po\u010dtem z\u00e1loh nebo velikost\u00ed dat v GB), ale jejich velikost je dostate\u010dn\u011b velk\u00e1 (des\u00edtky a\u017e stovky megabajt\u016f).<\/li>\n<li>Velikost repozit\u00e1\u0159e bude zahrnovat pouze zm\u011bny \u2014 duplicity nebudou ukl\u00e1d\u00e1ny, tak\u017ee velikost repozit\u00e1\u0159e bude men\u0161\u00ed, ne\u017e p\u0159i pr\u00e1ci softwaru zalo\u017een\u00e9ho na rsync.<\/li>\n<li>O\u010dek\u00e1v\u00e1 se vysok\u00e9 zat\u00ed\u017een\u00ed procesoru p\u0159i pou\u017e\u00edv\u00e1n\u00ed komprese a\/nebo \u0161ifrov\u00e1n\u00ed, stejn\u011b jako pravd\u011bpodobn\u011b dost velk\u00e9 zat\u00ed\u017een\u00ed s\u00edt\u011b a diskov\u00e9ho subsyst\u00e9mu, pokud bude proces archivace a\/nebo \u0161ifrov\u00e1n\u00ed prob\u00edhat na serveru z\u00e1lohov\u00e1n\u00ed.<\/li>\n<\/ol>\n<p><\/p>\n<p>Jako referen\u010dn\u00ed hodnotu spust\u00edme n\u00e1sleduj\u00edc\u00ed p\u0159\u00edkaz:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">cd \/src\/dir; tar -cf - * | ssh backup_server \"cat &gt; \/backup\/dir\/archive.tar\"<\/code><\/pre>\n<p><\/p>\n<p>V\u00fdsledky proveden\u00ed byly n\u00e1sleduj\u00edc\u00ed:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/jn\/c5\/he\/jnc5heftan2gc8qmkgrb_vgyecy.png\"><img decoding=\"async\" alt=\"Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/def0d3a5f68b9ca399915fcfb408ee02.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Doba prov\u00e1d\u011bn\u00ed 3m12s. Je z\u0159ejm\u00e9, \u017ee rychlost narazila na diskov\u00fd subsyst\u00e9m serveru z\u00e1lohov\u00e1n\u00ed, stejn\u011b jako v p\u0159\u00edkladu s <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/452630\/\">rsync<\/a><\/noindex>. Jen o n\u011bco rychleji, proto\u017ee z\u00e1pis jde do jednoho souboru.<\/p>\n<p><\/p>\n<p>Tak\u00e9 pro posouzen\u00ed komprese spust\u00edme stejnou variantu, ale zahrneme kompresi na stran\u011b serveru z\u00e1lohov\u00e1n\u00ed:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">cd \/src\/dir; tar -cf - * | ssh backup_server \"gzip &gt; \/backup\/dir\/archive.tgz\"<\/code><\/pre>\n<p><\/p>\n<p>V\u00fdsledky jsou n\u00e1sleduj\u00edc\u00ed:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/dj\/ha\/tt\/djhattgl3zvdm4qolmv6hr1-0fe.png\"><img decoding=\"async\" alt=\"Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/4651897ad58f0fc3881845b61239c4dd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Doba prov\u00e1d\u011bn\u00ed 10m11s. Pravd\u011bpodobn\u011b nejv\u011bt\u0161\u00ed slabinou je jednovl\u00e1knov\u00fd kompresor na p\u0159ij\u00edmaj\u00edc\u00ed stran\u011b.<\/p>\n<p><\/p>\n<p>Stejn\u00fd p\u0159\u00edkaz, ale s p\u0159enosem komprese na server s p\u016fvodn\u00edmi daty pro ov\u011b\u0159en\u00ed hypot\u00e9zy, \u017ee \u00fazk\u00fdm hrdlem je jedno\u00fa\u010delov\u00fd komprektor.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">cd \/src\/dir; tar -czf - * | ssh backup_server \"cat &gt; \/backup\/dir\/archive.tgz\"<\/code><\/pre>\n<p><\/p>\n<p>Vy\u0161lo to takto:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/wy\/fz\/5z\/wyfz5zmwsx6_7zcwv0x3fkncrlk.png\"><img decoding=\"async\" alt=\"Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/f4805e774253d67bb6773647b32d8042.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Doba proveden\u00ed byla 9m37s. Jasn\u011b je vid\u011bt zat\u00ed\u017een\u00ed jednoho j\u00e1dra kompresorem, proto\u017ee rychlost p\u0159enosu p\u0159es s\u00ed\u0165 a zat\u00ed\u017een\u00ed diskov\u00e9ho subsyst\u00e9mu zdroje jsou podobn\u00e9.<\/p>\n<p><\/p>\n<p>Pro vyhodnocen\u00ed \u0161ifrov\u00e1n\u00ed m\u016f\u017eete pou\u017e\u00edt openssl nebo gpg, p\u0159ipojen\u00edm dal\u0161\u00edho p\u0159\u00edkazu <code>openssl<\/code> nebo <code>gpg<\/code> do pipe. Pro orientaci bude takov\u00fd p\u0159\u00edkaz:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">cd \/src\/dir; tar -cf - * | ssh backup_server \"gzip | openssl enc -e -aes256 -pass pass:somepassword -out \/backup\/dir\/archive.tgz.enc\"<\/code><\/pre>\n<p><\/p>\n<p>V\u00fdsledky byly n\u00e1sleduj\u00edc\u00ed:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/f4\/jt\/qt\/f4jtqtaseg-su6kqe1fypvpjftc.png\"><img decoding=\"async\" alt=\"Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/ebb4b63609a9f21ea275436db79af5f6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Doba proveden\u00ed byla 10m30s, proto\u017ee b\u011b\u017eely 2 procesy na p\u0159ij\u00edmac\u00ed stran\u011b \u2014 \u00fazk\u00fdm hrdlem op\u011bt byl jedno\u00fa\u010delov\u00fd komprektor, plus mal\u00e9 re\u017eijn\u00ed n\u00e1klady na \u0161ifrov\u00e1n\u00ed.<\/p>\n<p><\/p>\n<p><strong>UPD:<\/strong> Na \u017e\u00e1dost bliznezz p\u0159id\u00e1v\u00e1m testy s pigz. Pokud se pou\u017eije pouze komprektor \u2014 trvalo to 6m30s, pokud p\u0159id\u00e1me tak\u00e9 \u0161ifrov\u00e1n\u00ed \u2014 p\u0159ibli\u017en\u011b 7m. Propad na doln\u00edm grafu \u2014 nesmazan\u00fd diskov\u00fd cache:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/yh\/ga\/no\/yhganobnez0czjpjku92w934wkk.png\"><img decoding=\"async\" alt=\"Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/eae1f159265319ed1406bd673e56f36c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<h3 id=\"testirovanie-duplicity\">Testov\u00e1n\u00ed duplicity<\/h3>\n<p><\/p>\n<p>Duplicity je software v pythonu pro z\u00e1lohov\u00e1n\u00ed pomoc\u00ed vytv\u00e1\u0159en\u00ed \u0161ifrovan\u00fdch archiv\u016f ve form\u00e1tu tar.<\/p>\n<p><\/p>\n<p>Pro inkrement\u00e1ln\u00ed archivy se pou\u017e\u00edv\u00e1 librsync, co\u017e znamen\u00e1, \u017ee lze o\u010dek\u00e1vat chov\u00e1n\u00ed popsan\u00e9 v <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/452630\/\">p\u0159edchoz\u00edm z\u00e1pisu cyklu<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Z\u00e1lohy mohou b\u00fdt \u0161ifrov\u00e1ny a podepisov\u00e1ny pomoc\u00ed gnupg, co\u017e je d\u016fle\u017eit\u00e9 p\u0159i pou\u017e\u00edv\u00e1n\u00ed r\u016fzn\u00fdch poskytovatel\u016f pro ulo\u017een\u00ed z\u00e1loh (s3, backblaze, gdrive atd.)<\/p>\n<p><\/p>\n<p>Pod\u00edvejme se, jak\u00e9 budou v\u00fdsledky:<\/p>\n<p>\n<b class=\"spoiler_title\">Takov\u00e9to v\u00fdsledky byly z\u00edsk\u00e1ny p\u0159i spu\u0161t\u011bn\u00ed bez \u0161ifrov\u00e1n\u00ed<\/b><\/p>\n<p>spoiler<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/io\/3q\/zn\/io3qznlgqh81dzihfftyvpfnq-c.png\"><img decoding=\"async\" alt=\"Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/c0a848d7ba6667c2c38c8d3b47fd7e2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Doba b\u011bhu ka\u017ed\u00e9ho testovac\u00edho spu\u0161t\u011bn\u00ed:<\/p>\n<p><\/p>\n<p>Spu\u0161t\u011bn\u00ed 1<br \/>\nSpu\u0161t\u011bn\u00ed 2<br \/>\nSpu\u0161t\u011bn\u00ed 3<\/p>\n<p>16m33s<br \/>\n17m20s<br \/>\n16m30s<\/p>\n<p>8m29s<br \/>\n9m3s<br \/>\n8m45s<\/p>\n<p>5m21s<br \/>\n6m04s<br \/>\n5m53s<\/p>\n<p><\/p>\n<p>A tady jsou v\u00fdsledky p\u0159i zapnut\u00ed \u0161ifrov\u00e1n\u00ed gnupg, s velikost\u00ed kl\u00ed\u010de 2048 bit\u016f:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/lm\/jn\/kp\/lmjnkp8vgptndap57epuiodtn6m.png\"><img decoding=\"async\" alt=\"Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/6e24001f12dcd70e733d36611432b824.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Doba provozu na stejn\u00fdch datech se \u0161ifrov\u00e1n\u00edm:<\/p>\n<p><\/p>\n<p>Spu\u0161t\u011bn\u00ed 1<br \/>\nSpu\u0161t\u011bn\u00ed 2<br \/>\nSpu\u0161t\u011bn\u00ed 3<\/p>\n<p>17m22s<br \/>\n17m32s<br \/>\n17m28s<\/p>\n<p>8m52s<br \/>\n9m13s<br \/>\n9m3s<\/p>\n<p>5m48s<br \/>\n5m40s<br \/>\n5m30s<\/p>\n<p><\/p>\n<p>Byla uvedena velikost bloku \u2014 512 megabajt\u016f, co\u017e je jasn\u011b vid\u011bt na grafech; zat\u00ed\u017een\u00ed procesoru se vlastn\u011b dr\u017eelo na \u00farovni 50%, co\u017e znamen\u00e1, \u017ee program vyu\u017e\u00edv\u00e1 m\u00e9n\u011b ne\u017e jedno procesorov\u00e9 j\u00e1dro.<\/p>\n<p><\/p>\n<p>Tak\u00e9 je dob\u0159e vid\u011bt princip \u010dinnosti programu: vzali jsme kousek dat, zkomprimovali ho, poslali na server pro ukl\u00e1d\u00e1n\u00ed z\u00e1loh, kter\u00fd m\u016f\u017ee b\u00fdt dost pomal\u00fd.<br \/>\nDal\u0161\u00ed zvl\u00e1\u0161tnost\u00ed je p\u0159edv\u00eddateln\u00fd \u010das pr\u00e1ce programu, kter\u00fd z\u00e1vis\u00ed pouze na velikosti zm\u011bn\u011bn\u00fdch dat.<\/p>\n<p><\/p>\n<p>Zapnut\u00ed \u0161ifrov\u00e1n\u00ed nezv\u00fd\u0161ilo dobu b\u011bhu programu p\u0159\u00edli\u0161, ale zat\u00ed\u017een\u00ed procesoru se zv\u00fd\u0161ilo p\u0159ibli\u017en\u011b o 10 %, co\u017e m\u016f\u017ee b\u00fdt velmi p\u0159\u00edjemn\u00fd bonus.<\/p>\n<p><\/p>\n<p>Bohu\u017eel, tento program nedok\u00e1zal spr\u00e1vn\u011b detekovat situaci s p\u0159ejmenov\u00e1n\u00edm adres\u00e1\u0159e, a tak v\u00fdsledn\u00e1 velikost repozit\u00e1\u0159e byla rovna velikosti zm\u011bn (tj. v\u0161ech 18 GB), av\u0161ak mo\u017enost pou\u017e\u00edv\u00e1n\u00ed ned\u016fv\u011bryhodn\u00e9ho serveru pro z\u00e1lohov\u00e1n\u00ed ur\u010dit\u011b p\u0159eva\u017euje nad takov\u00fdm chov\u00e1n\u00edm.<\/p>\n<p><\/p>\n<h3 id=\"testirovanie-duplicati\">Testov\u00e1n\u00ed duplicati<\/h3>\n<p><\/p>\n<p>Tento software je naps\u00e1n v C#, b\u011b\u017e\u00ed s vyu\u017eit\u00edm knihoven Mono. Disponuje GUI i CLI verz\u00ed.<\/p>\n<p><\/p>\n<p>P\u0159edb\u011b\u017en\u00fd seznam hlavn\u00edch funkc\u00ed je podobn\u00fd jako u duplicity, v\u010detn\u011b r\u016fzn\u00fdch poskytovatel\u016f pro ukl\u00e1d\u00e1n\u00ed z\u00e1loh, av\u0161ak na rozd\u00edl od duplicity, v\u011bt\u0161ina funkc\u00ed je dostupn\u00e1 bez dal\u0161\u00edch prost\u0159edk\u016f. To m\u016f\u017ee b\u00fdt plus nebo minus \u2014 z\u00e1vis\u00ed na konkr\u00e9tn\u00ed situaci, ale pro nov\u00e1\u010dky je pravd\u011bpodobn\u011b jednodu\u0161\u0161\u00ed m\u00edt p\u0159ed o\u010dima seznam v\u0161ech funkc\u00ed hned, ne\u017e instalovat bal\u00ed\u010dky pro Python, jak je tomu u duplicity.<\/p>\n<p><\/p>\n<p>Dal\u0161\u00ed mal\u00fd detail \u2014 program aktivn\u011b zapisuje lok\u00e1ln\u00ed datab\u00e1zi SQLite jm\u00e9nem toho u\u017eivatele, kter\u00fd spou\u0161t\u00ed z\u00e1lohov\u00e1n\u00ed, tak\u017ee je t\u0159eba dodate\u010dn\u011b db\u00e1t na spr\u00e1vn\u00e9 ur\u010den\u00ed po\u017eadovan\u00e9 datab\u00e1ze p\u0159i ka\u017ed\u00e9m spu\u0161t\u011bn\u00ed procesu pomoc\u00ed CLI. P\u0159i pr\u00e1ci p\u0159es GUI nebo WEBGUI budou detaily u\u017eivateli skryty.<\/p>\n<p>\n<b class=\"spoiler_title\">Pod\u00edvejme se, jak\u00e9 ukazatele m\u016f\u017ee toto \u0159e\u0161en\u00ed poskytnout:<\/b><\/p>\n<p>Pokud vypnete \u0161ifrov\u00e1n\u00ed (co\u017e WEBGUI nedoporu\u010duje), v\u00fdsledky jsou n\u00e1sleduj\u00edc\u00ed:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/67\/bc\/n3\/67bcn3ynbvoxc-twrimiqznenzi.png\"><img decoding=\"async\" alt=\"Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/e75696cd153f6d36b33dbabe8315b3b9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Doba trv\u00e1n\u00ed:<\/p>\n<p><\/p>\n<p>Spu\u0161t\u011bn\u00ed 1<br \/>\nSpu\u0161t\u011bn\u00ed 2<br \/>\nSpu\u0161t\u011bn\u00ed 3<\/p>\n<p>20m43s<br \/>\n20m13s<br \/>\n20m28s<\/p>\n<p>5m21s<br \/>\n5m40s<br \/>\n5m35s<\/p>\n<p>7m36s<br \/>\n7m54s<br \/>\n7m49s<\/p>\n<p><\/p>\n<p>Se zapnut\u00fdm \u0161ifrov\u00e1n\u00edm, pou\u017e\u00edvaj\u00edc\u00ed AES, vypad\u00e1 to takto:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/pq\/fr\/ws\/pqfrwsizdrzsksafwv-bv2892gg.png\"><img decoding=\"async\" alt=\"Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/e52f70d1ac30b960a3f65b2da37c1a5e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Doba trv\u00e1n\u00ed:<\/p>\n<p><\/p>\n<p>Spu\u0161t\u011bn\u00ed 1<br \/>\nSpu\u0161t\u011bn\u00ed 2<br \/>\nSpu\u0161t\u011bn\u00ed 3<\/p>\n<p>29m9s<br \/>\n30m1s<br \/>\n29m54s<\/p>\n<p>5m29s<br \/>\n6m2s<br \/>\n5m54s<\/p>\n<p>8m44s<br \/>\n9m12s<br \/>\n9m1s<\/p>\n<p><\/p>\n<p>A pokud pou\u017eijete extern\u00ed program GnuPG, vyjdou takov\u00e9to v\u00fdsledky:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/z1\/oo\/bq\/z1oobq9gf0-x9nb-i3seuzz5-qq.png\"><img decoding=\"async\" alt=\"Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/e63aa4d6764bee72bb8c0bd93c3c78c3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Spu\u0161t\u011bn\u00ed 1<br \/>\nSpu\u0161t\u011bn\u00ed 2<br \/>\nSpu\u0161t\u011bn\u00ed 3<\/p>\n<p>26m6s<br \/>\n26m35s<br \/>\n26m17s<\/p>\n<p>5m20s<br \/>\n5m48s<br \/>\n5m40s<\/p>\n<p>8m12s<br \/>\n8m42s<br \/>\n8m15s<\/p>\n<p><\/p>\n<p>Jak je vid\u011bt, program um\u00ed pracovat ve v\u00edce vl\u00e1knech, ale z toho d\u016fvodu se nest\u00e1v\u00e1 v\u00fdkonn\u011bj\u0161\u00edm \u0159e\u0161en\u00edm, a pokud porovn\u00e1me pr\u00e1ci \u0161ifrov\u00e1n\u00ed \u2014 spu\u0161t\u011bn\u00ed extern\u00edho programu<br \/>\nbylo rychlej\u0161\u00ed ne\u017e pou\u017eit\u00ed knihovny z bal\u00ed\u010dku Mono. Mo\u017en\u00e1 je to zp\u016fsobeno t\u00edm, \u017ee extern\u00ed program je l\u00e9pe optimalizovan\u00fd.<\/p>\n<p><\/p>\n<p>P\u0159\u00edjemn\u00fdm momentem bylo tak\u00e9 to, \u017ee velikost \u00falo\u017ei\u0161t\u011b zab\u00edr\u00e1 p\u0159esn\u011b tolik, kolik bylo skute\u010dn\u011b zm\u011bn\u011bn\u00fdch dat, tzn. duplicati rozpoznal p\u0159ejmenov\u00e1n\u00ed slo\u017eky a spr\u00e1vn\u011b tuto situaci zpracoval. To lze vid\u011bt p\u0159i proveden\u00ed druh\u00e9ho testu.<\/p>\n<p><\/p>\n<p>Celkov\u011b m\u00e1m z programu velmi pozitivn\u00ed dojem, v\u010detn\u011b dostate\u010dn\u00e9 p\u0159\u00edv\u011btivosti pro za\u010d\u00e1te\u010dn\u00edky.<\/p>\n<p><\/p>\n<h3 id=\"rezultaty\">V\u00fdsledky<\/h3>\n<p><\/p>\n<p>Oba kandid\u00e1ti pracovaly dost pomalu, ale celkov\u011b, ve srovn\u00e1n\u00ed s b\u011b\u017en\u00fdm tar, je pokrok patrn\u00fd, alespo\u0148 u duplicati. Cena takov\u00e9ho pokroku je tak\u00e9 jasn\u00e1 - znateln\u00e1 z\u00e1t\u011b\u017e<br \/>\nprocesoru. Celkov\u011b neexistuj\u00ed \u017e\u00e1dn\u00e9 zvl\u00e1\u0161tn\u00ed odchylky p\u0159i p\u0159edpov\u00edd\u00e1n\u00ed v\u00fdsledk\u016f.<\/p>\n<p><\/p>\n<h3 id=\"vyvody\">Z\u00e1v\u011bry<\/h3>\n<p><\/p>\n<p>Pokud nen\u00ed pot\u0159eba sp\u011bchat a je dostatek v\u00fdkonu procesoru - vyhovuje jak\u00e9koli z prozkouman\u00fdch \u0159e\u0161en\u00ed, v ka\u017ed\u00e9m p\u0159\u00edpad\u011b byla odvedena dost velk\u00e1 pr\u00e1ce, kterou nen\u00ed t\u0159eba opakovat psan\u00edm skript\u016f na vrstvu nad tar. P\u0159\u00edtomnost \u0161ifrov\u00e1n\u00ed je velmi u\u017eite\u010dn\u00e1 vlastnost, pokud server pro ukl\u00e1d\u00e1n\u00ed z\u00e1loh nen\u00ed pln\u011b d\u016fv\u011bryhodn\u00fd.<\/p>\n<p><\/p>\n<p>Pokud porovn\u00e1me s \u0159e\u0161en\u00edmi na b\u00e1zi <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/452630\/\">rsync<\/a><\/noindex> v\u00fdkon m\u016f\u017ee b\u00fdt hor\u0161\u00ed n\u011bkolikr\u00e1t, i kdy\u017e v \u010dist\u00e9 verzi tar fungoval rychleji ne\u017e rsync o 20-30%.<br \/>\n\u00daspora na velikosti \u00falo\u017ei\u0161t\u011b je, ale pouze u duplicati.<\/p>\n<p><\/p>\n<h3 id=\"anons\">Ozn\u00e1men\u00ed<\/h3>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/449282\/\">Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 1: Pro\u010d je z\u00e1lohov\u00e1n\u00ed d\u016fle\u017eit\u00e9, p\u0159ehled metod, technologi\u00ed<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/452630\/\">Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 2: P\u0159ehled a testov\u00e1n\u00ed n\u00e1stroj\u016f pro z\u00e1lohov\u00e1n\u00ed zalo\u017een\u00fdch na rsync<\/a><\/noindex><br \/>\nZ\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati, deja dup<br \/>\nZ\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 4: P\u0159ehled a testov\u00e1n\u00ed zbackup, restic, borgbackup<br \/>\nZ\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 5: Testov\u00e1n\u00ed Bacula a Veeam Backup pro Linux<br \/>\nZ\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 6: Srovn\u00e1n\u00ed n\u00e1stroj\u016f pro z\u00e1lohov\u00e1n\u00ed<br \/>\nZ\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 7: Z\u00e1v\u011bry<\/p>\n<p><\/p>\n<p><u>Autor publikace:<\/u> Pavel Demkovi\u010d<\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/454420\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0437\u0430\u043c\u0435\u0442\u043a\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0443\u0442\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0430\u0440\u0445\u0438\u0432\u043e\u0432 \u043d\u0430 \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u0418\u0437 \u0442\u0435\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0442 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u2014 duplicity (\u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0432 \u0432\u0438\u0434\u0435 deja dup) \u0438 duplicati. \u0415\u0449\u0435 \u043e\u0434\u043d\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0433\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u2014 dar, \u043d\u043e \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u043d\u0435\u0433\u043e \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432\u0435\u0441\u044c\u043c\u0430 \u043e\u0431\u0448\u0438\u0440\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043e\u043f\u0446\u0438\u0439 \u2014 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26307,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34954","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0434\u0430\u043d\u043d\u043e\u0439.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-3-obzor-i-testirovanie-duplicity-duplicati\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0447\u0430\u0441\u0442\u044c 3: \u041e\u0431\u0437\u043e\u0440 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 duplicity, duplicati | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0434\u0430\u043d\u043d\u043e\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-3-obzor-i-testirovanie-duplicity-duplicati\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:01:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:01:30+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Z\u00e1lohov\u00e1n\u00ed, \u010d\u00e1st 3: P\u0159ehled a testov\u00e1n\u00ed duplicity, duplicati | ProHoster","description":"V t\u00e9to.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-3-obzor-i-testirovanie-duplicity-duplicati","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u0437\u0435\u0440\u0432\u043d\u043e\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0447\u0430\u0441\u0442\u044c 3: \u041e\u0431\u0437\u043e\u0440 \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 duplicity, duplicati | ProHoster","og:description":"\u0412 \u0434\u0430\u043d\u043d\u043e\u0439.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-3-obzor-i-testirovanie-duplicity-duplicati","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:01:30+00:00","article:modified_time":"2019-10-31T19:01:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34954","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 21:15:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:03:10","updated":"2026-01-21 21:15:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/34954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=34954"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/34954\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/26307"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=34954"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=34954"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=34954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}