ãã®ããŒãã§ã¯ãããã¯ã¢ãã ãµãŒããŒäžã«ã¢ãŒã«ã€ããäœæããŠããã¯ã¢ãããå®è¡ããããã¯ã¢ãã ããŒã«ã«ã€ããŠèª¬æããŸãã
èŠä»¶ãæºãããã®ã®äžã«ã¯ãduplicity (deja dup ã®åœ¢åŒã§åªããã€ã³ã¿ãŒãã§ã€ã¹ãåããŠããŸã) ãš duplicati ããããŸãã
ãã 10 ã€ã®éåžžã«åªããããã¯ã¢ãã ããŒã«ã¯ dar ã§ãããããã«ã¯éåžžã«åºç¯ãªãªãã·ã§ã³ã®ãªã¹ãããããã (ãã¹ãæ¹æ³ã§ã¯æ©èœã®ããã XNUMX% ããã«ããŒãããŠããŸãã)ãçŸåšã®ãµã€ã¯ã«ã®äžéšãšããŠãã¹ãããŠããŸããã
æåŸ ãããçµæ
ã©ã¡ãã®åè£è ãäœããã®æ¹æ³ã§ã¢ãŒã«ã€ããäœæãããããéåžžã® tar ãã¬ã€ããšããŠäœ¿çšã§ããŸãã
ããã«ãå®å šã³ããŒãšãã¡ã€ã«ã®çŸåšã®ç¶æ ããŸãã¯ä»¥åã®ã¢ãŒã«ã€ããšçŸåšã®ã¢ãŒã«ã€ã (å¢åãæžåãªã©) ã®å·®åã®ã¿ãå«ãããã¯ã¢ãã ã³ããŒãäœæããããšã«ãã£ãŠãã¹ãã¬ãŒãž ãµãŒããŒäžã®ããŒã¿ ã¹ãã¬ãŒãžãã©ã®çšåºŠæé©åãããŠããããè©äŸ¡ããŸãã ã
ããã¯ã¢ããäœææã®åäœ:
- ããã¯ã¢ãã ã¹ãã¬ãŒãž ãµãŒããŒäžã®ãã¡ã€ã«ã®æ°ã¯æ¯èŒçå°ãªã (ããã¯ã¢ãã ã³ããŒã®æ°ãŸãã¯ããŒã¿ã®ãµã€ãº (GB åäœ) ã«çžåœ) ãããã®ãµã€ãºã¯ããªã倧ãããªããŸã (æ°åããæ°çŸã¡ã¬ãã€ã)ã
- ãªããžã㪠ãµã€ãºã«ã¯å€æŽã®ã¿ãå«ãŸããŸããéè€ã¯ä¿åãããªãããããªããžã㪠ãµã€ãºã¯ rsync ããŒã¹ã®ãœãããŠã§ã¢ãããå°ãããªããŸãã
- å§çž®ãæå·åã䜿çšããå Žå㯠CPU è² è·ãé«ããªãããšãäºæ³ãããã¢ãŒã«ã€ããæå·åããã»ã¹ãããã¯ã¢ãã ã¹ãã¬ãŒãž ãµãŒããŒã§å®è¡ãããŠããå Žåã¯ããããã¯ãŒã¯ãšãã£ã¹ã¯ã®è² è·ãéåžžã«é«ããªãå¯èœæ§ããããŸãã
åèå€ãšããŠä»¥äžã®ã³ãã³ããå®è¡ããŠã¿ãŸãã
cd /src/dir; tar -cf - * | ssh backup_server "cat > /backup/dir/archive.tar"
å®è¡çµæã¯ä»¥äžã®éãã§ããã
å®è¡æéã¯3å12ç§ã ã®äŸã®ããã«ãé床ã¯ããã¯ã¢ãã ã¹ãã¬ãŒãž ãµãŒããŒã®ãã£ã¹ã¯ ãµãã·ã¹ãã ã«ãã£ãŠå¶éãããŠããããšãããããŸãã
ãŸããå§çž®ãè©äŸ¡ããããã«ãåããªãã·ã§ã³ãå®è¡ããŸãããããã¯ã¢ãã ãµãŒããŒåŽã§å§çž®ãæå¹ã«ããŸãã
cd /src/dir; tar -cf - * | ssh backup_server "gzip > /backup/dir/archive.tgz"
çµæã¯æ¬¡ã®ãšããã§ãã
å®è¡æéã¯10å11ç§ã ããããããã«ããã¯ã¯åä¿¡åŽã®ã·ã³ã°ã«ãããŒã³ã³ãã¬ããµãŒã§ãã
åãã³ãã³ãã§ãããããã«ããã¯ãã·ã³ã°ã«ã¹ã¬ããã®ã³ã³ãã¬ããµãŒã§ãããšãã仮説ããã¹ãããããã«ãå ã®ããŒã¿ãšãšãã«å§çž®ããµãŒããŒã«è»¢éãããŸãã
cd /src/dir; tar -czf - * | ssh backup_server "cat > /backup/dir/archive.tgz"
次ã®ããã«ãªããŸããã
å®è¡æéã¯9å37ç§ã§ããã ã³ã³ãã¬ããµãŒã«ãã XNUMX ã€ã®ã³ã¢ãžã®è² è·ãæ確ã«è¡šç€ºãããŸãã ãããã¯ãŒã¯è»¢éé床ãšãœãŒã¹ ãã£ã¹ã¯ ãµãã·ã¹ãã ã®è² è·ã¯åæ§ã§ãã
æå·åãè©äŸ¡ããã«ã¯ãè¿œå ã®ã³ãã³ããæ¥ç¶ã㊠openssl ãŸã㯠gpg ã䜿çšã§ããŸãã openssl
ãŸã㯠gpg
ãã€ãã®äžã åèãŸã§ã«ã次ã®ãããªã³ãã³ãããããŸãã
cd /src/dir; tar -cf - * | ssh backup_server "gzip | openssl enc -e -aes256 -pass pass:somepassword -out /backup/dir/archive.tgz.enc"
çµæã¯æ¬¡ã®ããã«ãªããŸããã
åä¿¡åŽã§ 10 ã€ã®ããã»ã¹ãå®è¡ãããŠãããããå®è¡æé㯠30 å 2 ç§ã§ãããããã«ããã¯ã¯ãã¯ãã·ã³ã°ã« ã¹ã¬ããã®ã³ã³ãã¬ããµãŒãšãããããªæå·åãªãŒããŒãããã§ãã
UPDïŒ bliznezz ã®ãªã¯ãšã¹ãã«å¿ã㊠pigz ã䜿çšãããã¹ããè¿œå ããŠããŸãã ã³ã³ãã¬ããµãŒã®ã¿ã䜿çšããå Žå㯠6 å 30 ç§ãæå·åãè¿œå ãããšçŽ 7 åããããŸãã äžã®ã°ã©ãã®ããŒã¿ã¯ããã©ãã·ã¥ãããŠããªããã£ã¹ã¯ ãã£ãã·ã¥ã§ãã
éè€ãã¹ã
Duplicity ã¯ãtar 圢åŒã§æå·åãããã¢ãŒã«ã€ããäœæããŠããã¯ã¢ããããããã® Python ãœãããŠã§ã¢ã§ãã
å¢åã¢ãŒã«ã€ãã®å Žå㯠librsync ã䜿çšãããããã次ã§èª¬æãããŠããåäœãæåŸ
ã§ããŸãã
ããã¯ã¢ãã㯠gnupg ã䜿çšããŠæå·åããã³çœ²åã§ããŸããããã¯ãããã¯ã¢ããã®ä¿åã«å¥ã®ãããã€ã㌠(s3ãbackblazeãgdrive ãªã©) ã䜿çšããå Žåã«éèŠã§ãã
çµæãèŠãŠã¿ãŸããã:
ãããã¯æå·åãªãã§å®è¡ãããšãã«åŸãããçµæã§ã
ãã¿ãã¬
åãã¹ãå®è¡ã®å®è¡æé:
ã©ã³1
ã©ã³2
ã©ã³3
16m33s
17m20s
16m30s
8m29s
9m3s
8m45s
5m21s
6m04s
5m53s
ãããŠãã㌠ãµã€ãº 2048 ããã㧠gnupg æå·åãæå¹ã«ãªã£ãŠããå Žåã®çµæã¯æ¬¡ã®ãšããã§ãã
æå·åã䜿çšããå Žåã®åãããŒã¿ã®åäœæé:
ã©ã³1
ã©ã³2
ã©ã³3
17m22s
17m32s
17m28s
8m52s
9m13s
9m3s
5m48s
5m40s
5m30s
ããã㯠ãµã€ãºã¯ 512 ã¡ã¬ãã€ããšç€ºãããŠãããã°ã©ãã§ã¯ã£ãããšç¢ºèªã§ããŸãã å®éã«ã¯ãããã»ããµã®è² è·ã¯ 50% ã®ãŸãŸã§ãããããã¯ãããã°ã©ã ã XNUMX ã€ã®ããã»ããµ ã³ã¢ãã䜿çšããŠããªãããšãæå³ããŸãã
ããã°ã©ã ã®åäœåçãéåžžã«ã¯ã£ãããšããããŸããããã°ã©ã ã¯ããŒã¿ãååŸããŠå§çž®ããããã¯ã¢ãã ã¹ãã¬ãŒãž ãµãŒããŒã«éä¿¡ããŸãããããã¯éåžžã«é
ãå ŽåããããŸãã
ãã XNUMX ã€ã®ç¹åŸŽã¯ãããã°ã©ã ã®å®è¡æéãäºæž¬å¯èœã§ããããšã§ããããã¯ãå€æŽãããããŒã¿ã®ãµã€ãºã®ã¿ã«äŸåããŸãã
æå·åãæå¹ã«ããŠãããã°ã©ã ã®å®è¡æéã¯å€§å¹ ã«å¢å ããŸããã§ããããããã»ããµã®è² è·ãçŽ 10% å¢å ããŸãããããã¯éåžžã«è¯ãããŒãã¹ãšãªããŸãã
æ®å¿µãªããããã®ããã°ã©ã ã¯ãã£ã¬ã¯ããªã®ååå€æŽã®ç¶æ³ãæ£ããæ€åºã§ãããçµæãšããŠãªããžããªã®ãµã€ãºã¯å€æŽã®ãµã€ãºïŒã€ãŸãããã¹ãŠ 18GBïŒãšåãã§ããããšãå€æããŸããããä¿¡é Œã§ããªããµãŒããŒãããã¯ã¢ããã«äœ¿çšã§ããããšã¯æããã§ãããã®åäœã«ã€ããŠã¯èª¬æããŸãã
éè€ãã¹ã
ãã®ãœãããŠã§ã¢ã¯ C# ã§æžãããŠãããMono ã®äžé£ã®ã©ã€ãã©ãªã䜿çšããŠå®è¡ãããŸãã CLI ããŒãžã§ã³ã ãã§ãªã GUI ããŒãžã§ã³ããããŸãã
äž»ãªæ©èœã®ããããã®ãªã¹ãã¯ãããŸããŸãªããã¯ã¢ãã ã¹ãã¬ãŒãž ãããã€ããŒãå«ã Duplicity ãšäŒŒãŠããŸãããDuplicity ãšã¯ç°ãªããã»ãšãã©ã®æ©èœã¯ãµãŒãããŒãã£ã®ããŒã«ãªãã§å©çšã§ããŸãã ããããã©ã¹ã«ãªãããã€ãã¹ã«ãªããã¯å ·äœçãªã±ãŒã¹ã«ãã£ãŠç°ãªããŸãããåå¿è ã«ãšã£ãŠã¯ãPython ã®ããã±ãŒãžããã®ãŸãŸè¿œå ã§ã€ã³ã¹ããŒã«ãããããããã¹ãŠã®æ©èœã®ãªã¹ããäžåºŠã«ç¢ºèªã§ããæ¹ãç°¡åã§ããå¯èœæ§ãé«ããªããŸããäºéæ§ã®ããã±ãŒã¹ã
ãã XNUMX ã€ã®å°ããªãã¥ã¢ã³ã¹ - ããã°ã©ã ã¯ãããã¯ã¢ãããéå§ãããŠãŒã¶ãŒã«ä»£ãã£ãŠããŒã«ã« sqlite ããŒã¿ããŒã¹ãã¢ã¯ãã£ãã«æžã蟌ããããcli ã䜿çšããŠããã»ã¹ãéå§ãããã³ã«ãå¿ èŠãªããŒã¿ããŒã¹ãæ£ããæå®ãããŠããããšãããã«ç¢ºèªããå¿ èŠããããŸãã GUI ãŸã㯠WEBGUI ã䜿çšããŠäœæ¥ããå Žåã詳现ã¯ãŠãŒã¶ãŒã«ã¯è¡šç€ºãããŸããã
ãã®ãœãªã¥ãŒã·ã§ã³ãã©ã®ãããªææšãçæã§ããããèŠãŠã¿ãŸãããã
æå·åããªãã«ãããš (WEBGUI ã§ã¯ãããæšå¥šããŸãã)ãçµæã¯æ¬¡ã®ããã«ãªããŸãã
å¶æ¥æéïŒ
ã©ã³1
ã©ã³2
ã©ã³3
20m43s
20m13s
20m28s
5m21s
5m40s
5m35s
7m36s
7m54s
7m49s
æå·åãæå¹ã«ããaes ã䜿çšãããšã次ã®ããã«ãªããŸãã
å¶æ¥æéïŒ
ã©ã³1
ã©ã³2
ã©ã³3
29m9s
30m1s
29m54s
5m29s
6m2s
5m54s
8m44s
9m12s
9m1s
å€éšããã°ã©ã gnupg ã䜿çšãããšã次ã®çµæãåŸãããŸãã
ã©ã³1
ã©ã³2
ã©ã³3
26m6s
26m35s
26m17s
5m20s
5m48s
5m40s
8m12s
8m42s
8m15s
ã芧ã®ãšãããããã°ã©ã ã¯è€æ°ã®ã¹ã¬ããã§åäœã§ããŸãããããã«ãã£ãŠãœãªã¥ãŒã·ã§ã³ã®çç£æ§ãåäžããããã§ã¯ãããŸãããæå·åäœæ¥ãæ¯èŒãããšãå€éšããã°ã©ã ãèµ·åããŠããããšã«ãªããŸãã
Mono ã»ããã®ã©ã€ãã©ãªã䜿çšãããããé«éã§ããããšãå€æããŸããã ããã¯ãå€éšããã°ã©ã ãããæé©åãããŠããããšãåå ã§ããå¯èœæ§ããããŸãã
ãã XNUMX ã€ã®åªããç¹ã¯ããªããžããªã®ãµã€ãºãå®éã«å€æŽãããããŒã¿ãšãŸã£ããåã倧ããã§ãããšããäºå®ã§ãã duplicati ã¯ãã£ã¬ã¯ããªåã®å€æŽãæ€åºãããã®ç¶æ³ãæ£ããåŠçããŸããã ããã¯ãXNUMX çªç®ã®ãã¹ããå®è¡ãããšç¢ºèªã§ããŸãã
å šäœãšããŠãåå¿è ã«å¯ŸããŠããªããã¬ã³ããªãŒã§ããããšãå«ããããã°ã©ã ã«å¯ŸããŠããªãè¯å®çãªå°è±¡ããããŸããã
çµæ
ã©ã¡ãã®åè£ãäœæ¥ã¯ããªãé
ãã£ãã§ãããäžè¬çã«ãéåžžã® tar ãšæ¯èŒããŠãå°ãªããšã duplicati ã«ã€ããŠã¯é²æ©ããããŸããã ãã®ãããªé²æ©ã®ä»£åãæããã§ãããé¡èãªè² æ
ãšãªã
ããã»ããµãŒã äžè¬ã«ãçµæã®äºæž¬ã«ç¹å¥ãªéžè±ã¯ãããŸããã
æèŠ
ã©ãã«ãæ¥ãå¿ èŠããªããäºåã®ããã»ããµãŒãããå Žåã¯ãæ€èšãããŠãã解決çã®ããããã§ååã§ãããããã«ãããtar äžã«ã©ãã㌠ã¹ã¯ãªãããäœæããŠç¹°ãè¿ãã¹ãã§ã¯ãªãããªãã®äœæ¥ãè¡ãããŠããŸãã ã ããã¯ã¢ãã ã³ããŒãä¿åãããµãŒããŒãå®å šã«ä¿¡é Œã§ããªãå Žåãæå·åã®ååšã¯éåžžã«å¿ èŠãªããããã£ã§ãã
ãœãªã¥ãŒã·ã§ã³ããŒã¹ãšã®æ¯èŒ
ãªããžããªã®ãµã€ãºã¯ç¯çŽãããŸãããããã¯éè€ããå Žåã®ã¿ã§ãã
ãç¥ãã
ããã¯ã¢ãã ããŒã 3: éè€æ§ãéè€æ§ãããžã£ ãã¥ããã®ã¬ãã¥ãŒãšãã¹ã
ããã¯ã¢ãã ããŒã 4: zbackupãresticãborgbackup ã®ã¬ãã¥ãŒãšãã¹ã
ããã¯ã¢ãã ããŒã 5: Linux çšã® bacula ããã³ veeam ããã¯ã¢ããã®ãã¹ã
ããã¯ã¢ãã ããŒã 6: ããã¯ã¢ãã ããŒã«ã®æ¯èŒ
ããã¯ã¢ãã ããŒã 7: çµè«
æçš¿è ïŒ ããã«ã»ãã ã³ããã
åºæïŒ habr.com