restic version
μΆλ ₯restic 0.9.3 compiled with go1.11.1 on linux/amd64
restic backup
μ "λ°±μ
λ λͺ¨λ νμΌμ κ²½λ‘μμ μ΄ μ ν κ²½λ‘λ₯Ό μ κ±°νμμμ€"λΌλ μ΅μ
μ΄ μμΌλ©΄ λμμ΄ λ κ²μ
λλ€. μ: --backup-root /some/path
. λ€μκ³Ό κ°μ ν¨κ³Όκ° μμ΅λλ€.
/some/path/to/file
νμΌμ μ€λ
μ·μ /to/file
λ©λλ€./to/file
μ λν΄ λ©νλ°μ΄ν° κ²μ¬λ₯Ό μνν©λλ€.restic backup
μ μ§μ ν μ μμ΅λλ€.(μ΄κ²μ΄ #1376κ³Ό κ΄λ ¨μ΄ μλ€κ³ μκ°ν©λλ€.)
λ°±μ μ€ν¬λ¦½νΈ μ€ νλλ μ€μ§ν μ μλ μ€ν μ€μΈ μλΉμ€κ° λ§μ μμ€ν μμ μ€νλ©λλ€. μ΄λ¬ν μλΉμ€λ νΉμ μμ μμ λ³΅κ΅¬κ° κ°λ₯ν¨μ 보μ₯ν©λλ€(μ: μ μ ν λ°μ΄ν°λ₯Ό μΌκ΄λ μνλ‘ λλ리기 μν΄ μΆ©λΆν μ λλ§μ μνν¨). κ·Έλ¬λ λλ¨Έμ§ λ°±μ μ μμμ μ΄μ§ μμ΅λλ€. λ°λΌμ λλ¨Έμ§ λ°±μ μ μλΉμ€μ 볡ꡬ 보μ₯μ κΉ¨λ¨λ¦½λλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λ€μμ μνν©λλ€.
/
μ LVM μ€λ
μ·μ λ§λλλ€. μ€λ
μ·μ μ 체 λ³Όλ₯¨μ μμ λΈλ‘ μμ€ λ³΅μ¬λ³Έμ
λλ€./mnt/backup-snapshot
μλμ LVM μ€λ
μ·μ λ§μ΄νΈν©λλ€./mnt/backup-snapshot
μ λν΄ λλ¨Έμ§ λ°±μ
μ μ€νν©λλ€.μ΄λ κ² νλ©΄ λ°±μ μ΄ μ§μ ν νΉμ μμ μ΄ λκ³ λ³΅μλ λ°±μ μ΄ μΌκ΄λ μνλ‘ ν¨κ³Όμ μΌλ‘ μ μ§λ©λλ€.
λΆννλ μ΄κ²μ νμΌμ΄ (μΈλͺ¨μλ) μ λμ¬ /mnt/backup-snapshot
μ¬μ©νμ¬ μ°λ¦¬μ restic μ μ₯μμ μ μ₯λκ² ν©λλ€. μ΄κ²μ 볡μ λ
Έλ ₯μ 볡μ‘νκ² ν μ μμΌλ©° λ°±μ
μ΄ μμ±λ λ°©λ²μ λν μΈλΆ μ 보λ₯Ό λͺ¨λ₯΄λ κ²½μ° μ½κ° νΌλμ€λ½μ΅λλ€.
λ΄κ° μκ°ν μ μλ μ μΌν ν΄κ²° λ°©λ²μ chroot λ΄μμ λ°±μ μ μ€ννλ κ²μ λλ€. μΈμμ λμ μλμ§λ§ resticμ΄ νμΌμμ μΌλΆ μ ν μ λμ¬λ₯Ό μ κ±°νλ μ΅μ μ μ 곡νλ κ²μ΄ λ λμ μ μμ΅λλ€.
λ΄κ° μ°Ύμ μ΄ μμ²μ λ μ€λλ ꡬνμ λ€μκ³Ό κ°μ΅λλ€. #555
+1
μ΄κ²λ μ λ§ μ μ©ν κΈ°λ₯μ΄ λ κ² κ°μμ.
μμ½νμλ©΄ restic backup /mnt/backup-snapshot
λ₯Ό μ€ν μ€μ΄λ―λ‘ /mnt/backup-snapshot/foo
νμΌμ μ€λ
μ·μμ /mnt/backup-snapshot/foo
μ΄μ§λ§ /foo
μ΄ λκΈ°λ₯Ό μν©λλ€
νμ¬ λλ ν 리λ₯Ό λ³κ²½νμ¬ restic > 0.9.0μΌλ‘ μ΄λ₯Ό λ¬μ±ν μ μμ΅λλ€. cd /mnt/backup-snapshot
λ₯Ό μ€νν λ€μ restic backup .
λ©λλ€.
κ·Έκ² λΉμ μ μν΄ μλν©λκΉ?
cwd
λ³κ²½νλ©΄ μλνμ§λ§ ν¬ν¨/μ μΈμ νμΌμ μ¬μ©νλ κ²½μ° λΆμΎν λΆμμ©μ΄ μμμ μμμ΅λλ€. κ±°κΈ°μ μ λ κ²½λ‘κ° μμΌλ©΄ cwd
λ³κ²½ν λ 건λ λ°λ κ² κ°μ΅λλ€. λλ μ°¨λΌλ¦¬ μ λ κ²½λ‘λ₯Ό μ¬μ©νκ³ μΆμ΅λλ€ - μ§κΈμ μλ§λ chroot κ²½λ‘λ₯Ό λ°λΌκ° κ²μ΄μ§λ§ tar
-C
νλκ·Έμ μ μ¬ν κ²μ κ°λ κ²μ΄ λ μ’μ κ²μ΄λΌλ λ° λμν©λλ€. .
μ΄ κ°μ§ λ£¨νΈ μ΅μ μ΄ μ μ©ν κΈ°λ₯μ΄ λ κ²μ΄λΌκ³ μκ°ν©λλ€. cdhowieμ λμΌνμ§λ§ macOSμμ apfs μ€λ μ·μ μ¬μ©νκ³ μΆμ΅λλ€. μ½κΈ° μ μ© apfs μ€λ μ·μ μ‘μΈμ€νλ €λ©΄ μ΄λκ°μ λ§μ΄νΈν΄μΌ ν©λλ€. κ·Έλ¬λ 볡μν λ "μλ" κ²½λ‘κ° μ€λ μ·μ μ μ₯λ νμ€ κ²½λ‘κ° λκΈ°λ₯Ό λ°λλλ€.
λΆννλ cd νΈλ¦μ StdExclusions.plist(macOS νμ€ λ°±μ μ μΈ λͺ©λ‘)μμ μμ§λ μ λ κ²½λ‘κ° λ§κ³ (125) mdfindκ° com_apple_backup_excludeItem μμ± μΈνΈλ‘ μ°Ύμ μ μλ λͺ¨λ νμΌ λ° ν΄λλ₯Ό κ°μ§κ³ μκΈ° λλ¬Έμ μ΅μ μ΄ μλλλ€.
/mntλ₯Ό 무μ νμΌμ λ£κ³ /mnt/fs-snapshotμμ λ°±μ μ μμνλ©΄ λ¬Έμ κ° κ·Έλλ‘ λ¨μ΅λλ€.
νλ¬μ€ cd $path && restic backup . μ€λ μ· κ°μμμ μ¬μ ν $pathλ₯Ό μ 곡νμ§λ§ μ€λ μ·μ κ²½λ‘λ / κΈ°λ°μ λλ€.
prorootλ‘ ν΄κ²° λ°©λ²μ μ°Ύμμ΅λλ€.
λν κ²½λ‘ μ λμ¬λ₯Ό μ κ±°νλ λ°©λ²μ μ°Ύκ³ μΆμμ΅λλ€. λ΄ μ¬μ© μ¬λ‘λ μ½κ° λ€λ¦
λλ€. μ λ zfs μ€λ
μ·( fs@$(date +%s)
)μ μμ±νκ³ μμΌλ©° μ΄λ₯Ό λ§μ΄νΈνμ§ μκ³ λ°±μ
νκ³ μΆμμ΅λλ€( /path/to/mount/.zfs/snapshots/${TS}
). μ€λ
μ·μ΄ λ§μ΄νΈ ν΄μ λμ§ μκ³ μΆ©λμ΄ λ°μνλ κ²½μ° μμν λ λμλ€λλ κ²μ λν΄ κ±±μ νλ κ²μ
λλ€.
μ΄μ λν restic forget
μΆλ ₯μ λ€λ₯Έ κ²½λ‘λ₯Ό κ°μ§ μ€λ
μ·μ΄ μΌμ (λ§€μΌ / 맀주 λ±)μ λ°λΌ μνμ§μ§ μμ κ²μ΄λΌκ³ μκ°νκ² ν©λλ€.
@blurayne μ proot
λκΈμ μ’μ μΆλ°μ μ΄μμ΅λλ€. μ λ κ°μ κ²°λ‘ μ λλ¬νλ€κ³ μκ°ν©λλ€.
$snap_path="/path/to/where/snapshot/is/accessible"
$orig_fs="/path/to/filesystem"
proot -b "${snap_path}":"${orig_fs}" restic backup "${orig_fs}"
μ΄κ²μ μ μλνλ©° μ΄μ λͺ¨λ μ€λ
μ·μ cd
λλ pushd
μμ΄ λμΌν κ²½λ‘λ₯Ό κ°μ΅λλ€. λν rootλ μ¬μ©μ 곡κ°μμ μ¬μ© κ°λ₯νλ―λ‘ rootλ‘ λ°±μ
μ νμ§ μμλ κ°λ₯ν©λλ€.
λ΄ μ¬μ© μ¬λ‘: /tmp/tmpzmn28r02(mktemp λλ pythonμ mkdtemp()λ₯Ό ν΅ν΄ μ»μ)μ κ°μ μμ λλ ν 리μ λ°μ΄ν°λ² μ΄μ€ λ°μ΄ν°λ₯Ό λ€νν λ€μ λ°±μ
ν©λλ€.
μ΄ λ°©λ²μ 2κ°μ μ€λ
μ· μ¬μ΄μ λͺ¨λ νμΌμ μλ‘ λ€λ₯Έ κ²μΌλ‘ νμν©λλ€. κ·Έλμ μμ λλ ν 리 μ λμ¬λ₯Ό μμ ν 무μνλλ‘ resticμ μ§μνλ λ°©λ²μ΄ νμν©λλ€.
λ λ€λ₯Έ κ°λ₯ν μ¬μ© μ¬λ‘: μ€λμ λͺ¨λ μ¬μ§μ΄ '/mnt/something/pictures'μ μμ§λ§ λ΄μΌμ λμΌν μ½ν
μΈ κ° '/mnt/external/pictures-from-home'(λ€λ₯Έ νν°μ
ꡬμ±ν/무μμ΄λ ) μλμ μμ κ²μ
λλ€.
λν λμΌν μ€νμμ μ¬λ¬ λλ ν°λ¦¬λ₯Ό λ°±μ νκ³ λλ¨Έμ§λ₯Ό μ¬μ©νλ €λ κ²½μ° λμΌν μ€λ μ·μ μ¬μ©νκΈ° μν΄ μ΄ μμ μ΄ ν¨μ¬ λ 볡μ‘ν΄μ§λλ€.
μμ μ΄ μλ£λ λκΉμ§ 'proot' μ μμ μ¬μ©ν κ²μ λλ€ - @blurayne λ° @whi-tw κ°μ¬ν©λλ€
μλ ! λΉμ·ν κ²½μ°κ° μμ΅λλ€. μλ₯Ό λ€μ΄ ν΄λκ° μμ΅λλ€.
/srv/my/long/server1/path/data (with many subfolders and dozen of files)
/path/to/dump.sql
/path/certbot.tar.gz
κ·Έλμ λλ λ°±μ μ λ°κ³ μΆλ€
/data
/dump.sql
/certbot.tar.gz
λ€λ₯Έ κ²½λ‘(μλ)λ₯Ό ν΅ν΄ λ€λ₯Έ μλ²(μ΄μ ν΄λ ꡬ쑰μ λν΄μλ μ λͺ¨λ₯΄κ² μ΅λλ€)μμ 볡μν μ μλ κΈ°λ₯μ μ»μ΅λλ€.
μ΄ μ¬μν μμ μ ν΄κ²°ν μμ΄λμ΄κ° μμ΅λλ€. Resticμ λλΌμ΄ λꡬμ΄μ§λ§... μ΅μ’ μ¬μ©μμκ² μ κ·Έλ κ² μ΄λ ΅κ² μλν©λκΉ?
미리 μ μλ λ°±μ ν΄λ(/backup)μ νμν λͺ¨λ κ²μ 볡μ¬νκ³ κ±°κΈ°μμ (cdλ₯Ό ν΅ν΄) Restic λ°±μ μ μ€νν©λλ€. κ·Έλ¬λ μ΄ μ루μ μ μλμ λ°μ΄ν°μλ§ μ μ©λ©λλ€.
ν
νλ¦Ώ λ°λ‘ λ€(λλ μ΄ λ§μ€ν¬ ν¬ν¨) --include νμ ν΄λλ₯Ό μ¬μ©νμ¬ κΈ°λ₯μ 볡μνλ κ²μ΄ μ’μ΅λλ€. μ .:
restic restore --include data --target /my/new/path
κ²°κ³Όλ‘ μ»μ
/my/new/path/data
proot -b /path/i/wanted:./path_in_repo restic backup .
μ루μ
μ λν΄ @whi-twμκ² κ°μ¬λ립λλ€. μ μκ² ν¨κ³Όμ μ
λλ€.
μ μ¬μ© μ¬λ‘λ λ€λ₯Έ λ°±μ μ루μ μ μ€λ μ·μ resticμΌλ‘ λ§μ΄κ·Έλ μ΄μ νλ κ²μ λλ€(μ κ²½μ°μλ Time Machine λ° λμ€ν¬ μ΄λ―Έμ§).
/Volumes/TimeMachine-Backups/Backups.backupdb/MacBook Pro/2019-05-22-185113/Macintosh SSD/
λ§€μ° κΈΈμ΄μ§ μ μλ TMμ μν΄ μμ±λ μ€λ
μ·μ μ΄λ―Έμ§ λλ νμ λλ ν 리λ₯Ό λ§μ΄νΈνλ μμΉμμ λ§μ΄κ·Έλ μ΄μ
ν©λλ€.
cd
μ루μ
μ restic mount
λ° restic restore
μ¬μ©ν λ μλνμ§λ§ restic snapshots
μ€νν λ μλ³Έ μ€λ
μ·μ μ λ κ²½λ‘κ° λμ΄λ©λλ€.
λ§μ΄κ·Έλ μ΄μ
λ μ€λ
μ·μ΄κΈ° λλ¬Έμ μλ³Έ μ€λ
μ·μ΄ μμ±λ κ²½λ‘λ λ§μ°¬κ°μ§μμΌλ©΄ ν©λλ€. κ·Έ μΈμλ κΈ΄ κ²½λ‘λ₯Ό μ¬μ©νλ©΄ restic snapshots
μΆλ ₯μ΄ μ½κ° μλλ½μ΅λλ€.
λ체 μ λμ¬λ₯Ό μ€μ νλ νλκ·Έλ μ μκ²λ μ΄μμ μ λλ€.
μ΄κ²μ μ μλνλ©° μ΄μ λͺ¨λ μ€λ μ·μ
cd
λλpushd
μμ΄ λμΌν κ²½λ‘λ₯Ό κ°μ΅λλ€. λν rootλ μ¬μ©μ 곡κ°μμ μ¬μ© κ°λ₯νλ―λ‘ rootλ‘ λ°±μ μ νμ§ μμλ κ°λ₯ν©λλ€.
μ΄κ²μ μ’μ ν΄κ²° λ°©λ²μ΄μμ§λ§ proot
λ macOSμμ μ¬μ©ν μ μμΌλ©° μ‘°λ§κ° μ 곡λμ§ μμ κ² κ°μ΅λλ€(λλΆλΆμ μ½λλ νΉν Linuxμ©μΌλ‘ μμ±λ¨): PRootκ° MacOSXμμ μλν©λκΉ?
μκ°λλ λ€λ₯Έ ν΄κ²° λ°©λ²μ΄ μμ΅λκΉ?
λ΄ μ¬μ© μ¬λ‘: /tmp/tmpzmn28r02(mktemp λλ pythonμ mkdtemp()λ₯Ό ν΅ν΄ μ»μ)μ κ°μ μμ λλ ν 리μ λ°μ΄ν°λ² μ΄μ€ λ°μ΄ν°λ₯Ό λ€νν λ€μ λ°±μ ν©λλ€.
μ΄ λ°©λ²μ 2κ°μ μ€λ μ· μ¬μ΄μ λͺ¨λ νμΌμ μλ‘ λ€λ₯Έ κ²μΌλ‘ νμν©λλ€.
μ΄μ¨λ νμΌμ _are_ λ€λ₯Ό μ μμ΅λλ€. λ°μ΄ν°λ² μ΄μ€ λ°±μ μ μΌλ°μ μΌλ‘ μ²μ λͺ μ€μ νμμ€ν¬νλ₯Ό ν¬ν¨ν©λλ€.
λ°μ΄ν°λ² μ΄μ€ λ€ν λͺ λ Ήμ μ‘°μ νμ¬ λμ μ£Όμμ μ μΈνκ³ κΈ°λ³Έ ν€λ‘ μ λ ¬νμ¬ λλ¦¬κ² λ³κ²½λλ λ°μ΄ν°λ₯Ό μ€μ λ‘ μ€λ³΅ μ κ±°ν μ μμ΅λλ€.
μ
λ°μ΄νΈ: 'proot'λ λλ₯Ό μν΄ ν μμ€ν
μμλ§ μλνμΌλ©° λ€λ₯Έ μμ€ν
μμλ segfaultsκ° μλνμ΅λλ€.
κ·Έκ²μ λν λμ(μ΅μ ) - λ²λΈλ©
λμΌν '-b' 맀κ°λ³μμ ν¨κ» μλν΄μΌ νλ λνΌ(첨λΆλ¨)λ₯Ό μΆκ°νμ΅λλ€. μ§κΈκΉμ§ μλνλ κ² κ°μ΅λλ€. νμμ λλ ν 리 μμΉμ λ°λΌ λνΌλ₯Ό μ½κ° λ³κ²½ν΄μΌ ν μλ μμ΅λλ€.
μ¬λ¬λΆμκ² λμμ΄ λκΈ°λ₯Ό λ°λλλ€. νμ§λ§ λλ restic μ체 λ΄λΆμ μ§μμ κΈ°λνκ³ μμ΅λλ€.
proot
μλνμ΅λλ€. μΆκ° κΈ°λ₯(https://restic.readthedocs.io/en/stable/080_examples.html#full-backup-without-root)μ μ¬μ©νμ¬ λ£¨νΈκ° μλ μ¬μ©μλ‘ resticμ μ€ννλ κΈ°λ₯μ μ€λ¨νλ κ² κ°μ΅λλ€. μ μ΄λ proot
μμ΄ resticμ μ€νν λ μ»μ§ λͺ»ν scan: Open: open /.pulse: permission denied
μ€λ₯κ° λ°μνμ΅λλ€.
bwrap
μ κ°μ λ¬Έμ μ
λλ€.
κ·Έλμ λμκ²λ restic μ체μμ κ²½λ‘ μ λμ¬λ₯Ό μ κ±°νλ κ²μ΄ μ¬μ ν μ μ©ν΄ 보μ λλ€.
μ΄ λλ½λ κΈ°λ₯μΌλ‘ μΈν΄ VMμ λ°±μ
νλ κ²μ΄ νμ μ΄μμΌλ‘ μ΄λ €μμ§λλ€.
λ΄ VM μ€λ
μ·μ μμ ν΄λμ μ μ₯λκ³ λλ¨Έμ§λ λ°±μ
λ©λλ€.
κ²°κ³Όλ λ€μκ³Ό κ°μ΅λλ€.
ID Time Host Tags Paths
--------------------------------------------------------------------------------------
02c536db 2020-04-10 14:28:27 resolver-02 /tmp/tmp.vOFFxxly9O/config.xml
c5709aed 2020-04-10 14:28:29 resolver-02 /tmp/tmp.vOFFxxly9O/sdb.img
a88cc1e7 2020-04-10 14:36:22 resolver-02 /tmp/tmp.FoY1j5JPIZ/config.xml
7c44e6ee 2020-04-10 14:36:24 resolver-02 /tmp/tmp.FoY1j5JPIZ/sdb.img
65456111 2020-04-10 14:37:48 resolver-02 /tmp/tmp.vjtI9JE3Iz/config.xml
eaced756 2020-04-10 14:37:49 resolver-02 /tmp/tmp.vjtI9JE3Iz/sdb.img
8eccec2c 2020-04-10 16:04:30 resolver-02 /tmp/tmp.YtLYRd0rNI/config.xml
34c897e1 2020-04-10 16:04:31 resolver-02 /tmp/tmp.YtLYRd0rNI/sdb.img
99b67b97 2020-04-10 16:07:53 resolver-02 /tmp/tmp.aWaEDqAaTq/config.xml
cad2c9d8 2020-04-10 16:07:54 resolver-02 /tmp/tmp.aWaEDqAaTq/sdb.img
--------------------------------------------------------------------------------------
μ΄κ²μ λμΌν νμΌμ μΈμνμ§ λͺ»νκ³ λͺ¨λ μΈμ€ν΄μ€μ λν μ€λ
μ·μ μ μ§νκΈ° λλ¬Έμ restic forget
μ€λ¨ν©λλ€. μλ €μ§ μ λμ¬λ₯Ό μ κ±°νκ±°λ μ λ κ²½λ‘κ° μλ μλ κ²½λ‘ λ§ μ μ₯νλ λ°©λ²μ΄ μλ€λ©΄ λ μ’κ² μ΅λλ€.
λλ μ΄λ―Έ μλ κ²½λ‘λ₯Ό μ¬μ©νμ¬ resticμ νΈμΆνκ³ μμ ν΄λμμ chingμ νΈμΆνκ³ μμ΅λλ€. μ¬νκ²λ λμμ΄λμ§ μμΌλ©° μ΄μ λν΄ bindmountsλ₯Ό μ¬μ©νμ§ μλ κ²μ΄ μ’μ΅λλ€.
μ΄κ²μ λμΌν νμΌμ μΈμνμ§ λͺ»νκ³ λͺ¨λ μΈμ€ν΄μ€μ λν μ€λ μ·μ μ μ§νκΈ° λλ¬Έμ
restic forget
μ€λ¨ν©λλ€.
μ°λ¦¬λ μ΄ λ¬Έμ μ μ§λ©΄νμ§λ§ μ루μ μ λ§€μ° κ°λ¨ν©λλ€. λ°±μ μ€μΈ νμΌμ κΈ°λ°μΌλ‘ κ° λ°±μ μ νκ·Έλ₯Ό μ§μ ν©λλ€.
μλ₯Ό λ€μ΄ μ¬κΈ°μ config.xml
λ° sdb.img
νκ·Έλ₯Ό μ¬μ©ν μ μμ΅λλ€. κ·Έλ° λ€μ μΆκ° --group-by host,tags
μ€ννλ κ²½μ° restic forget
.
μ΄ κΈ°λ₯μ ꡬννκΈ° μ΄λ €μ΄ μ΄μ λ 무μμ λκΉ? μ€λ μ· λ©νλ°μ΄ν°μ λν λμΌν κΈ°λ³Έ λ¬Έμμ΄ νν°λ§μ΄ μλκ°μ? κ·Έκ²μ΄ κ°μ Έμ¬ κ°μΉλ μμ²λ©λλ€. μ, νκ·Έ μ§μ μΌλ‘ ν΄κ²°ν μ μμ§λ§ κ²½λ‘ νλκ° μκ³ μ¬μ©ν μ μμ΅λλ€...
μ΄ κΈ°λ₯μ ꡬννκΈ° μ΄λ €μ΄ μ΄μ λ 무μμ λκΉ?
κ°λ°μλ‘μ μ€μ€λ‘ λ§νκΈ°(λ¨μν κ²μ΄ μλλΌ λ€λ₯Έ μ€ν μμ€ νλ‘μ νΈ): κΈ°λ₯ ꡬνμ λ°©ν΄νλ κ²μ κΈ°λ₯μ 볡μ‘μ±μ΄ μλλΌ μκ° λΆμ‘±, λκΈ° λΆμ¬ λλ λ¨μν "μ€μ μν"κ³Ό κ°μ μΌμμ μΈ κ²μ λλ€...
λ¬Όλ‘ λ΄ λͺ©νλ λΉνμ μ΄μ§ μκ³ μ§μ μΌλ‘ μ μ¬μ κΈ°μ¬μμ 볡μ‘μ±μ νμ νλ κ²μ΄μμ΅λλ€.
μλ νμΈμ, μ λ μ΄ "μ¬μ©μ μ μ 루νΈ" κΈ°λ₯μ ꡬννλ μμ μ μμνμ΅λλ€. ꡬν μ체λ κ²λ³΄κΈ°μλ κ°λ¨νμ§λ§ μ΄μ μλ C#λ§ μκ³ golangμ λ°°μμΌ νμ΅λλ€... μ΄μ¨λ , 2λ μ μΈ 2018λ λΆν° μ΄ λ¬Έμ κ° μ΄λ€ μ’ λ₯μ μ§μμ λ°κ³ μλμ§ μΈ‘μ νλ €κ³ ν©λλ€. . golangμΌλ‘ λλ₯Ό λμμ£Όκ³ μΆμ μ¬λμ΄ μμΌλ©΄ 곧 https://github.com/TheRealVincentVanGogh/restic/tree/2092-feature-custom-path-prefix μ μ λ ν κ²μ λλ€. μ‘°λ§κ° μ¬κΈ°μ ν 리νμ€νΈλ₯Ό μ¬λ¦΄ μ μκΈ°λ₯Ό λ°λλλ€.
@TheRealVincentVanGogh λλ λ°λμ λ°°μ°μ§ μμ κ²μ΄μ§λ§, λλ μ¬μ ν μ΄ κΈ°λ₯μ κ°λ§νκ³ μκ³ λλ μ¬μ ν λ μ€μ€ν±μΌλ‘ μ΄μνκ³ μΆμ§λ§ μ΄ λ¬Έμ μ λν΄ λ§μ λ°±μ μ κ°μ§κ³ μμ΅λλ€. μλνλ κ²μ²λΌ 보μ΄λ κ²μ΄ μμΌλ©΄ PRμ μ΄κ³ μ¬κΈ°μ λ§ν¬λ₯Ό κ²μνλ©΄ λͺ κ°μ§ κ°λ ₯ν ν μ€νΈλ₯Ό λΉλ €μ€ κ²μ λλ€.
@TheRealVincentVanGogh κ³νλ ꡬνμ΄ PR #2010κ³Ό μ΄λ€ κ΄λ ¨μ΄ μμ΅λκΉ?
@TheRealVincentVanGogh κ³νλ ꡬνμ΄ PR #2010κ³Ό μ΄λ€ κ΄λ ¨μ΄ μμ΅λκΉ?
@MichaelEischer μ€ μ! μ΄λ―Έ λκ΅°κ°κ° μ λ₯Ό λλ¦° κ² κ°μ΅λλ€. λ€, PR #2010μ΄ λ°λ‘ μ κ° νκ³ μλ... μ¬μ±κ³΅... μ μ₯. @cdhowie λ λ―Έλμ νΌλμ νΌνκΈ° μν΄ PR #2010μ μ΄ λ¬Έμ μ μ°κ²°ν μ μμ΅λκΉ? κ°μ¬ ν΄μ!
@themightychris λ€μμ ν΄λΉ PRμ λν λ§ν¬μ λλ€. κ°λ°μλ 2018λ μ μ€ν΄ν κ² κ°μλ°... κΆκΈνλ€μ.
μ€λ μ· νμΌ VSμμ κ²½λ‘ μ λμ¬λ₯Ό μ κ±°νλ κ² μ¬μ΄μ μ½κ°μ λͺ¨νΈμ±μ΄ μλ κ² κ°μ΅λλ€. λͺ¨λ νμΌ κ΅¬μ‘° + μ€λ μ· νμΌμμ κ²½λ‘ μ λμ¬ μ κ±°. PR #2010μ μ μ λ§ λ€λ£¨λ κ² κ°μ΅λλ€. OPκ° "λͺ¨λ λ°±μ νμΌμ κ²½λ‘μμ μ΄ μ ν κ²½λ‘ μ κ±°" (μΌλͺ νμΌ κ΅¬μ‘° μμ€ κ²½λ‘ μμ )λ₯Ό μ°Ύκ³ μμκΈ° λλ¬Έμ PR #2010μ μ΄ λ¬Έμ μ μ°κ²°νλ κ²μ λν΄ λ§ν κ²μ μ² νν΄μΌ ν©λλ€. cdhowie μΈκΈ μ£μ‘ν©λλ€!
κ·ΈλΌμλ λΆκ΅¬νκ³ ! @MichaelEischer λ΄ μλλ νμ
μΆμ : μ λ μμ¦ κ½€ λ°λΉ μ μμ μ΄ μ μ λ릴 μ μμ΅λλ€. λ¬Όλ‘ , μ¬λ¬λΆ λͺ¨λμ 곡μ ν κ°μΉκ° μλ€κ³ μκ°λλ©΄ PRμ κ²μν κ²μ λλ€! λͺ¨λλ€ μμ νμΈμ! π
κ°μ₯ μ μ©ν λκΈ
μλ νμΈμ, μ λ μ΄ "μ¬μ©μ μ μ 루νΈ" κΈ°λ₯μ ꡬννλ μμ μ μμνμ΅λλ€. ꡬν μ체λ κ²λ³΄κΈ°μλ κ°λ¨νμ§λ§ μ΄μ μλ C#λ§ μκ³ golangμ λ°°μμΌ νμ΅λλ€... μ΄μ¨λ , 2λ μ μΈ 2018λ λΆν° μ΄ λ¬Έμ κ° μ΄λ€ μ’ λ₯μ μ§μμ λ°κ³ μλμ§ μΈ‘μ νλ €κ³ ν©λλ€. . golangμΌλ‘ λλ₯Ό λμμ£Όκ³ μΆμ μ¬λμ΄ μμΌλ©΄ 곧 https://github.com/TheRealVincentVanGogh/restic/tree/2092-feature-custom-path-prefix μ μ λ ν κ²μ λλ€. μ‘°λ§κ° μ¬κΈ°μ ν 리νμ€νΈλ₯Ό μ¬λ¦΄ μ μκΈ°λ₯Ό λ°λλλ€.