Restic 0.15 λ°±μ—… μ‹œμŠ€ν…œ μ‚¬μš© κ°€λŠ₯

restic 0.15 λ°±μ—… μ‹œμŠ€ν…œμ΄ μΆœμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이 μ‹œμŠ€ν…œμ€ 버전이 κ΄€λ¦¬λ˜λŠ” μ €μž₯μ†Œμ— μ•”ν˜Έν™”λœ λ°±μ—… μ €μž₯μ†Œλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. 이 μ‹œμŠ€ν…œμ€ μ›λž˜ μ‹ λ’°ν•  수 μ—†λŠ” ν™˜κ²½μ— 백업을 μ €μž₯ν•˜λ„λ‘ μ„€κ³„λ˜μ—ˆμœΌλ©°, 백업이 잘λͺ»λœ μ‚¬λžŒμ—κ²Œ μœ μΆœλ˜λ”λΌλ„ μ‹œμŠ€ν…œμ΄ μ†μƒλ˜μ§€ μ•Šλ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ°±μ—… 생성 μ‹œ 파일과 디렉터리λ₯Ό ν¬ν•¨ν•˜κ±°λ‚˜ μ œμ™Έν•˜λŠ” μœ μ—°ν•œ κ·œμΉ™μ„ μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€(κ·œμΉ™ ν˜•μ‹μ€ rsync λ˜λŠ” gitignore와 μœ μ‚¬). Linux, macOS, Windows, FreeBSD, OpenBSDλ₯Ό μ§€μ›ν•©λ‹ˆλ‹€. ν”„λ‘œμ νŠΈ μ½”λ“œλŠ” Go μ–Έμ–΄λ‘œ μž‘μ„±λ˜μ—ˆμœΌλ©° BSD λΌμ΄μ„ μŠ€μ— 따라 λ°°ν¬λ©λ‹ˆλ‹€.

λ°±μ—… νŒŒμΌμ€ 둜컬 파일 μ‹œμŠ€ν…œμ΄λ‚˜ μ™Έμž₯ λ“œλΌμ΄λΈŒμ— μ €μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ„¬κΈ°λŠ” μ‚¬λžŒ Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage, Google Cloud Storage ν΄λΌμš°λ“œ 및 rclone λ°±μ—”λ“œλ₯Ό μ§€μ›ν•˜λŠ” λͺ¨λ“  μŠ€ν† λ¦¬μ§€ μ„œλΉ„μŠ€μ—μ„œ SFTP/SSH λ˜λŠ” HTTP RESTλ₯Ό 톡해 μ•‘μ„ΈμŠ€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ „μš© REST μ„œλ²„λ₯Ό μŠ€ν† λ¦¬μ§€λ‘œ μ‚¬μš©ν•  μˆ˜λ„ 있으며, 이 경우 λ‹€λ₯Έ λ°±μ—”λ“œλ³΄λ‹€ μ„±λŠ₯이 λ›°μ–΄λ‚˜κ³  원본이 μ†μƒλ˜λ”λΌλ„ 백업이 μ‚­μ œλ˜κ±°λ‚˜ μˆ˜μ •λ˜μ§€ μ•Šλ„λ‘ μΆ”κ°€ μ „μš© λͺ¨λ“œλ‘œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ„œλ²„ 그리고 μ•”ν˜Έν™” 킀에 λŒ€ν•œ μ ‘κ·Ό κΆŒν•œμ΄ ν•„μš”ν•©λ‹ˆλ‹€.

νŠΉμ • μ‹œμ μ˜ λͺ¨λ“  파일 및 ν•˜μœ„ 디렉터리가 ν¬ν•¨λœ νŠΉμ • λ””λ ‰ν„°λ¦¬μ˜ μƒνƒœλ₯Ό λ°˜μ˜ν•˜λŠ” μŠ€λƒ…μƒ·μ΄ μ§€μ›λ©λ‹ˆλ‹€. μƒˆ 백업이 생성될 λ•Œλ§ˆλ‹€ κ΄€λ ¨ μŠ€λƒ…μƒ·μ΄ μƒμ„±λ˜λ―€λ‘œ ν•΄λ‹Ή μˆœκ°„μ˜ μƒνƒœλ₯Ό 볡원할 수 μžˆμŠ΅λ‹ˆλ‹€. μ„œλ‘œ λ‹€λ₯Έ μ €μž₯μ†Œ 간에 μŠ€λƒ…μƒ·μ„ λ³΅μ‚¬ν•˜λŠ” 것이 κ°€λŠ₯ν•©λ‹ˆλ‹€. νŠΈλž˜ν”½μ„ μ ˆμ•½ν•˜κΈ° μœ„ν•΄ λ°±μ—… μ€‘μ—λŠ” λ³€κ²½λœ λ°μ΄ν„°λ§Œ λ³΅μ‚¬λ©λ‹ˆλ‹€. μ €μž₯μ†Œμ˜ λ‚΄μš©μ„ μ‹œκ°μ μœΌλ‘œ ν‰κ°€ν•˜κ³  볡ꡬλ₯Ό λ‹¨μˆœν™”ν•˜κΈ° μœ„ν•΄ λ°±μ—… 볡사본이 μžˆλŠ” μŠ€λƒ…μƒ·μ„ 가상 νŒŒν‹°μ…˜ ν˜•νƒœλ‘œ λ§ˆμš΄νŠΈν•  수 μžˆμŠ΅λ‹ˆλ‹€(λ§ˆμš΄νŠΈλŠ” FUSEλ₯Ό μ‚¬μš©ν•˜μ—¬ μˆ˜ν–‰λ¨). 변경사항을 λΆ„μ„ν•˜κ³  νŒŒμΌμ„ μ„ νƒμ μœΌλ‘œ μΆ”μΆœν•˜λŠ” λͺ…령도 μ œκ³΅λ©λ‹ˆλ‹€.

이 μ‹œμŠ€ν…œμ€ 전체 νŒŒμΌμ„ μ‘°μž‘ν•˜μ§€ μ•Šκ³ , Rabin의 μ„œλͺ…을 μ‚¬μš©ν•˜μ—¬ μ„ νƒλœ 뢀동 크기 블둝을 μ‘°μž‘ν•©λ‹ˆλ‹€. μ •λ³΄λŠ” 파일 이름이 μ•„λ‹Œ μ½˜ν…μΈ μ™€ κ΄€λ ¨ν•˜μ—¬ μ €μž₯λ©λ‹ˆλ‹€(데이터 κ΄€λ ¨ 이름과 κ°μ²΄λŠ” 블둝 메타데이터 μˆ˜μ€€μ—μ„œ μ •μ˜λ¨). μ½˜ν…μΈ μ˜ SHA-256 ν•΄μ‹œλ₯Ό 기반으둜 쀑볡 제거 및 λΆˆν•„μš”ν•œ 데이터 볡사λ₯Ό μ œκ±°ν•©λ‹ˆλ‹€. μ™ΈλΆ€ μ„œλ²„μ—μ„œλŠ” 정보가 μ•”ν˜Έν™”λ˜μ–΄ μ €μž₯λ©λ‹ˆλ‹€(μ²΄ν¬μ„¬μ—λŠ” SHA-256, μ•”ν˜Έν™”μ—λŠ” AES-256-CTR, 무결성 보μž₯μ—λŠ” Poly1305-AES 기반 인증 μ½”λ“œ μ‚¬μš©). 체크섬과 인증 μ½”λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ λ°±μ—… 사본을 κ²€μ¦ν•˜μ—¬ 파일 무결성이 μΉ¨ν•΄λ˜μ§€ μ•Šμ•˜λŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

μƒˆ λ²„μ „μ—μ„œ:

  • μ›λž˜ λ°±μ—…μš©μ΄ μ•„λ‹Œ 파일(예: κΈ°λ°€ 정보가 ν¬ν•¨λœ 파일 λ˜λŠ” κ°€μΉ˜κ°€ μ—†λŠ” 맀우 큰 둜그)이 μ‹€μˆ˜λ‘œ λ°±μ—… 볡사본에 ν¬ν•¨λœ 경우 μŠ€λƒ…μƒ·μ—μ„œ λΆˆν•„μš”ν•œ 데이터λ₯Ό μ œκ±°ν•  수 μžˆλŠ” μƒˆλ‘œμš΄ λ‹€μ‹œ μ“°κΈ° λͺ…령이 κ΅¬ν˜„λ˜μ—ˆμŠ΅λ‹ˆλ‹€. .
  • νŒŒμΌμ„ 읽을 λ•Œ 병렬화 μˆ˜μ€€μ„ μ„€μ •ν•˜κΈ° μœ„ν•΄ "--read-concurrency" μ˜΅μ…˜μ΄ λ°±μ—… λͺ…령에 μΆ”κ°€λ˜μ–΄ NVMe와 같은 λΉ λ₯Έ λ“œλΌμ΄λΈŒμ—μ„œ 볡사 속도λ₯Ό 높일 수 μžˆμŠ΅λ‹ˆλ‹€.
  • 파일 트리 검사 단계λ₯Ό λΉ„ν™œμ„±ν™”ν•˜κΈ° μœ„ν•΄ "--no-scan" μ˜΅μ…˜μ΄ λ°±μ—… λͺ…령에 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • 정리 λͺ…령은 λ©”λͺ¨λ¦¬ μ†ŒλΉ„λ₯Ό 크게 μ€„μ˜€μŠ΅λ‹ˆλ‹€(μ΅œλŒ€ 30%).
  • 큰 빈 μ˜μ—­μ΄ μžˆλŠ” νŒŒμΌμ„ 효율적으둜 λ³΅μ›ν•˜κΈ° μœ„ν•΄ 볡원 λͺ…령에 "--sparse" μ˜΅μ…˜μ„ μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.
  • Windows ν”Œλž«νΌμ˜ 경우 기호 링크 볡원 지원이 κ΅¬ν˜„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • macOSμ—λŠ” macFUSEλ₯Ό μ‚¬μš©ν•˜μ—¬ 백업이 ν¬ν•¨λœ 리포지토리λ₯Ό λ§ˆμš΄νŠΈν•˜λŠ” κΈ°λŠ₯이 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

좜처 : opennet.ru

μ½”λ©˜νŠΈλ₯Ό μΆ”κ°€