{"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\/et\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-3-obzor-i-testirovanie-duplicity-duplicati","title":{"rendered":"Varundamine, osa 3: \u00dclevaade ja testimine duplicity, duplicati","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Varundamine, osa 3: \u00dclevaade ja testimine duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/5c043312994d60411dabba12b445a622.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Selles m\u00e4rkuses vaadeldakse varundust\u00f6\u00f6riistu, mis teostavad varundamist, luues arhiive reservserverisse.<\/p>\n<p><\/p>\n<p>Nendest, mis vastavad n\u00f5uetele, on duplicity (millel on meeldiv liides deja dup kujul) ja duplicati.<\/p>\n<p><\/p>\n<p>Veel \u00fcks t\u00e4helepanuv\u00e4\u00e4rne varundust\u00f6\u00f6riist on dar, kuid kuna sellel on v\u00e4ga ulatuslik valik valikuid \u2014 testimismeetod katab vaevalt 10% sellest, milleks ta v\u00f5imeline on, \u2014 ei teste me seda k\u00e4esoleva ts\u00fckli raames.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"ozhidaemye-rezultaty\">Oodatavad tulemused<\/h3>\n<p><\/p>\n<p>Kuna m\u00f5lemad kandidaadid loovad arhiive, saab orientiirina kasutada tavalist tar-i.<\/p>\n<p><\/p>\n<p>Lisaks hindame, kui h\u00e4sti optimeeritakse andmete salvestamist salvestusserveris, luues varukoopiaid, mis sisaldavad ainult erinevusi t\u00e4ieliku koopia ja failide praeguse seisundi vahel v\u00f5i eelmiste ja praeguste arhiivide vahel (inkrementaalsed, dekrementaalsed jne).<\/p>\n<p><\/p>\n<p><strong>Varundamise k\u00e4itumine:<\/strong><\/p>\n<p><\/p>\n<ol>\n<li>Suhteliselt v\u00e4ike arv faile varundusserveris ( v\u00f5rreldes varukoopiate arvu v\u00f5i andmete suurusega gb-des), kuid nende suurus on piisavalt suur (k\u00fcmmekond-sada megabaiti).<\/li>\n<li>Repo suurus sisaldab ainult muudatusi \u2014 dubleerimist ei salvestata, seega on repo suurus v\u00e4iksem kui rsynci p\u00f5hjal t\u00f6\u00f6tava tarkvara puhul.<\/li>\n<li>Oodatakse suurt protsessorikoormust, kui kasutusele v\u00f5etakse pakkimine ja\/v\u00f5i kr\u00fcptimine, samuti t\u00f5en\u00e4oliselt m\u00e4rkimisv\u00e4\u00e4rne koormus v\u00f5rgu- ja ketaspetsialiseeritud s\u00fcsteemile, kui arhiivimise ja\/v\u00f5i kr\u00fcptimise protsess t\u00f6\u00f6tab varundusserveris.<\/li>\n<\/ol>\n<p><\/p>\n<p>Viidatakse v\u00e4\u00e4rtusele, k\u00e4ivitame j\u00e4rgmise k\u00e4su:<\/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>Teostuse tulemused on sellised:<\/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=\"Varundamine, osa 3: \u00dclevaade ja testimine duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/def0d3a5f68b9ca399915fcfb408ee02.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Teostusaeg 3m12s. On n\u00e4ha, et kiirus on saanud piiranguks varundusserveri kettas\u00fcsteem, nagu ka n\u00e4ites <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/452630\/\">rsync<\/a><\/noindex>. Ainult natuke kiiremini, kuna kirjutamine toimub \u00fchte faili.<\/p>\n<p><\/p>\n<p>Samuti hindamiseks k\u00e4ivitame sama variandi, kuid l\u00fclitame sisse pakkimise varundusserveri poolel:<\/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>Tulemused on j\u00e4rgmised:<\/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=\"Varundamine, osa 3: \u00dclevaade ja testimine duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/4651897ad58f0fc3881845b61239c4dd.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Teostusaeg 10m11s. T\u00f5en\u00e4oliselt on kitsaskohaks \u00fchesuunaline kompressioon vastuv\u00f5tupoolel.<\/p>\n<p><\/p>\n<p>Sama k\u00e4sk, kuid koos andmete serverisse edastamisega, et kontrollida h\u00fcpoteesi, et kitsaskohaks on \u00fcherealine kompressor.<\/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>Tulenes j\u00e4rgmine tulemus:<\/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=\"Varundamine, osa 3: \u00dclevaade ja testimine duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/f4805e774253d67bb6773647b32d8042.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>T\u00e4itmise aeg oli 9m37s. Selgelt on n\u00e4ha \u00fchte tuuma koormust kompressorilt, kuna \u00fclekanne v\u00f5rgu kaudu ja koormus allika ketas\u00fcsteemile on sarnased.<\/p>\n<p><\/p>\n<p>Kr\u00fcptimise hindamiseks v\u00f5ib kasutada openssl v\u00f5i gpg, \u00fchendades t\u00e4iendava k\u00e4suga <code>openssl<\/code> v\u00f5i <code>gpg<\/code> pipeline'is. Orientatsiooni saamiseks on j\u00e4rgmine k\u00e4sk:<\/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>Tulemused olid j\u00e4rgmised:<\/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=\"Varundamine, osa 3: \u00dclevaade ja testimine duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/ebb4b63609a9f21ea275436db79af5f6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>T\u00e4itmise aeg tuli 10m30s, kuna vastuv\u00f5tva poolel oli t\u00f6\u00f6tatud 2 protsessi \u2014 kitsaskohaks j\u00e4i j\u00e4lle \u00fcherealine kompressor, pluss v\u00e4ikesed kulud kr\u00fcptimisele.<\/p>\n<p><\/p>\n<p><strong>UPD:<\/strong> bliznezz'i palve peale lisan testid pigziga. Kui kasutada ainult kompressorit \u2014 tuli 6m30s, kui lisada veel ka kr\u00fcptimine \u2014 umbes 7m. Allolev langus graafikul \u2014 mitte t\u00fchistatud ketta vahem\u00e4lu:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/yh\/ga\/no\/yhganobnez0czjpjku92w934wkk.png\"><img decoding=\"async\" alt=\"Varundamine, osa 3: \u00dclevaade ja testimine 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\">Testimine duplicity<\/h3>\n<p><\/p>\n<p>Duplicity on Pythonil p\u00f5hinev tarkvara varundamiseks kr\u00fcpteeritud arhiivide loomise kaudu tar-formaadis.<\/p>\n<p><\/p>\n<p>Inkrementaalsete arhiivide puhul rakendatakse librsync'i, seega v\u00f5ib oodata k\u00e4itumist, mis on kirjeldatud <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/452630\/\">eelnevas m\u00e4rkuses ts\u00fcklist<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Varukoopiad v\u00f5ivad olla kr\u00fcpteeritud ja allkirjastatud gnupg abil, mis on oluline erinevate teenusepakkujate kasutamisel varundamise jaoks (s3, backblaze, gdrive jne).<\/p>\n<p><\/p>\n<p>Vaatame, millised on tulemused:<\/p>\n<p>\n<b class=\"spoiler_title\">Sellised tulemused saadi k\u00e4ivitamisel ilma kr\u00fcptimiseta<\/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=\"Varundamine, osa 3: \u00dclevaade ja testimine duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/c0a848d7ba6667c2c38c8d3b47fd7e2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Iga testk\u00e4ivituse t\u00f6\u00f6aeg:<\/p>\n<p><\/p>\n<p>K\u00e4ivitamine 1<br \/>\nK\u00e4ivitamine 2<br \/>\nK\u00e4ivitamine 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>Siin on tulemused gnupg kr\u00fcptimisega, 2048 bitise v\u00f5tmega:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/lm\/jn\/kp\/lmjnkp8vgptndap57epuiodtn6m.png\"><img decoding=\"async\" alt=\"Varundamine, osa 3: \u00dclevaade ja testimine duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/6e24001f12dcd70e733d36611432b824.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>T\u00f6\u00f6aeg samadel andmetel kr\u00fcptimisega:<\/p>\n<p><\/p>\n<p>K\u00e4ivitamine 1<br \/>\nK\u00e4ivitamine 2<br \/>\nK\u00e4ivitamine 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>Bloki suurus oli m\u00e4\u00e4ratud \u2014 512 megabaiti, mida on graafikutelt selgelt n\u00e4ha; protsessori koormus p\u00fcsis tegelikult 50% tasemel, mis t\u00e4hendab, et programm kasutab mitte rohkem kui \u00fchte protsessorituuma.<\/p>\n<p><\/p>\n<p>Samuti on piisavalt h\u00e4sti n\u00e4ha programmi t\u00f6\u00f6p\u00f5him\u00f5te: v\u00f5eti andmete t\u00fckk, pressiti see kokku ning saadeti varundusserverisse, mis v\u00f5ib olla piisavalt aeglane.<br \/>\nVeel another feature is the predictable runtime of the program, which depends only on the size of the changed data.<\/p>\n<p><\/p>\n<p>Enabling encryption didn't significantly increase the runtime of the program, but it raised CPU load by about 10%, which can be quite a nice bonus.<\/p>\n<p><\/p>\n<p>Unfortunately, this program was unable to correctly detect a directory rename situation, and the resulting repository size turned out to be equal to the size of the changes (i.e. all 18GB), but the ability to use an untrusted server for backups definitely outweighs such behavior.<\/p>\n<p><\/p>\n<h3 id=\"testirovanie-duplicati\">Testing duplicati<\/h3>\n<p><\/p>\n<p>This software is written in C#, and runs using a set of libraries from Mono. There is a GUI as well as a CLI version.<\/p>\n<p><\/p>\n<p>The approximate list of key features is similar to duplicity, including various providers for backup storage, however, unlike duplicity, most features are available without third-party tools. Whether this is a plus or minus depends on the specific case, but for beginners, it is likely easier to have an immediately visible list of all features, rather than having to install packages for Python like in the case with duplicity.<\/p>\n<p><\/p>\n<p>Another small nuance is that the program actively writes a local SQLite database on behalf of the user running the backup, so it is necessary to additionally ensure the correct specification of the required database with each CLI process execution. When using the GUI or WEBGUI, these details will be hidden from the user.<\/p>\n<p>\n<b class=\"spoiler_title\">Let's look at what metrics this solution can provide:<\/b><\/p>\n<p>If you turn off encryption (although WEBGUI does not recommend this), the results are as follows:<\/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=\"Varundamine, osa 3: \u00dclevaade ja testimine duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/e75696cd153f6d36b33dbabe8315b3b9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Runtime:<\/p>\n<p><\/p>\n<p>K\u00e4ivitamine 1<br \/>\nK\u00e4ivitamine 2<br \/>\nK\u00e4ivitamine 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>With encryption enabled, using AES, the results are:<\/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=\"Varundamine, osa 3: \u00dclevaade ja testimine duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/e52f70d1ac30b960a3f65b2da37c1a5e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Runtime:<\/p>\n<p><\/p>\n<p>K\u00e4ivitamine 1<br \/>\nK\u00e4ivitamine 2<br \/>\nK\u00e4ivitamine 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>And if you use the external program GnuPG, the results are as follows:<\/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=\"Varundamine, osa 3: \u00dclevaade ja testimine duplicity, duplicati\" src=\"\/wp-content\/uploads\/2019\/06\/e63aa4d6764bee72bb8c0bd93c3c78c3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>K\u00e4ivitamine 1<br \/>\nK\u00e4ivitamine 2<br \/>\nK\u00e4ivitamine 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>As can be seen, the program can work in multiple threads, but this does not make it a more efficient solution, and when comparing encryption performance - running an external program<br \/>\nturned out to be faster than using the library from the Mono set. This may be due to the fact that the external program is better optimized.<\/p>\n<p><\/p>\n<p>Meeldiv hetk oli ka see, et reposti suurus on t\u00e4pselt nii suur, kui palju t\u00f5eliselt muudetud andmeid on, st duplicati tuvastas katalooge \u00fcmbernimetamise ja t\u00f6\u00f6tles seda olukorda \u00f5igesti. Seda v\u00f5ib n\u00e4ha teise testi k\u00e4igus.<\/p>\n<p><\/p>\n<p>Kokkuv\u00f5ttes on programmist j\u00e4\u00e4nud \u00fcsna positiivne mulje, sealhulgas piisav s\u00f5bralikkus algajatele.<\/p>\n<p><\/p>\n<h3 id=\"rezultaty\">tulemused n\u00e4itasid ainult nelja ebaolulise koodibloki kattuvust, mis olid tingitud POSIX ja ANSI C n\u00f5uetest.<\/h3>\n<p><\/p>\n<p>M\u00f5lemad kandidaadid t\u00f6\u00f6tasid piisavalt aeglaselt, kuid \u00fcldiselt on v\u00f5rreldes tavalise tar-iga t\u00f5husus paranenud, v\u00e4hemalt duplicati puhul. Sellise edusammuga kaasnevat hinda on samuti lihtne m\u00f5ista \u2014 m\u00e4rgatav koormus<br \/>\nprotsessorile. \u00dcldiselt ei ole tulemuste prognoosimisel mingeid erilisi k\u00f5rvalekaldeid.<\/p>\n<p><\/p>\n<h3 id=\"vyvody\">J\u00e4reldused<\/h3>\n<p><\/p>\n<p>Kui kuhugi kiirustama ei pea ja protsessori koormus on piisav \u2014 sobib \u00fcksk\u00f5ik milline arutatud lahendus, igal juhul on tehtud piisavalt suur t\u00f6\u00f6, mida ei tasu kordamiseks tar-i kohaleste skriptide kirjutamisega. Kr\u00fcpteerimise olemasolu on v\u00e4ga vajalik omadus, kui varukoopiate salvestamiseks m\u00f5eldud server ei ole t\u00e4ielikult usaldusv\u00e4\u00e4rne.<\/p>\n<p><\/p>\n<p>Kui v\u00f5rrelda lahendusi, mis p\u00f5hinevad <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/452630\/\">rsync<\/a><\/noindex> \u2014 j\u00f5udlus v\u00f5ib olla paar korda halvem, ehkki puhtal kujul t\u00f6\u00f6tas tar 20-30% kiiremini kui rsync.<br \/>\nReposti suuruse kokkuhoid on olemas, kuid ainult duplicati puhul.<\/p>\n<p><\/p>\n<h3 id=\"anons\">Teade<\/h3>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/449282\/\">Varundamine, osa 1: Miks on varundamine vajalik, meetodite ja tehnoloogiate \u00fclevaade<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/452630\/\">Varundamine, osa 2: rsync-p\u00f5histe varundust\u00f6\u00f6riistade \u00fclevaade ja testimine<\/a><\/noindex><br \/>\nVarundamine, osa 3: Duplicity, duplicati, deja dup \u00fclevaade ja testimine<br \/>\nVarundamine, osa 4: Zbackup, restic, borgbackup \u00fclevaade ja testimine<br \/>\nVarundamine, osa 5: Bacula ja Veeam Backup for Linux testimine<br \/>\nVarundamine, osa 6: Varundamise t\u00f6\u00f6riistade v\u00f5rdlus<br \/>\nVarundamine, osa 7: J\u00e4reldused<\/p>\n<p><\/p>\n<p><u>Artikli autor:<\/u> Pavel Demkovich<\/p>\n<p>Allikas: <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.1.1 - 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\/et\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-3-obzor-i-testirovanie-duplicity-duplicati\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47Varundamine, osa 3: Duplicity, duplicati \u00fclevaade ja testimine | ProHoster","description":"Siin on.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/rezervnoe-kopirovanie-chast-3-obzor-i-testirovanie-duplicity-duplicati","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/34954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=34954"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/34954\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/26307"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=34954"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=34954"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=34954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}