Restic: ์›น ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๋ฐฑ์—… ๋ณด๊ธฐ

์— ๋งŒ๋“  2014๋…„ 11์›” 18์ผ  ยท  42์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: restic/restic

์Šค๋ƒ…์ƒท์„ ์ฐพ์•„๋ณด๊ธฐ ์œ„ํ•ด ์›น ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๋Š” restic ๋ช…๋ น์„ ๊ตฌํ˜„ํ•˜์‹ญ์‹œ์˜ค.

user interface feature suggestion

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚˜๋Š” ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก go ๋˜๋Š” nodejs ๋ฐ react ๋˜๋Š” angular๋กœ ์ž‘์„ฑ๋œ restic-web ๋ผ์ธ์„ ๋”ฐ๋ผ ํ˜ธ์ถœ๋˜๋Š” ์™„์ „ํžˆ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  42 ๋Œ“๊ธ€

์ด๊ฒƒ์€ ๋ฐฑ์—… ํ”„๋กœ๊ทธ๋žจ์˜ ํ•ต์‹ฌ ์ฑ…์ž„์ด ์•„๋‹Œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š” ๋ฌด์–ธ๊ฐ€์— ๋Œ€ํ•œ ๋งŽ์€ ๋ณต์žก์„ฑ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ •๋ง ํ•„์š”ํ•œ๊ฐ€? ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? FUSE(https://github.com/restic/restic/issues/27)๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค.

Windows์—๋Š” ํ“จ์ฆˆ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์›น ์„œ๋ฒ„๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์€ http://golang.org/pkg/net/http/#FileServer๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ž‘์—…์ด ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค

๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋ฐ”๋กœ๋Š”, ์ด๊ฒƒ์€ ๋งŽ์€ ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ฉฐ ์•„๋งˆ๋„ Windows์—์„œ ์Šค๋ƒ…์ƒท์„ ํƒ์ƒ‰ํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋™์˜ํ•œ๋‹ค. ์–ธ์  ๊ฐ€๋Š” GUI๊ฐ€ ํ•„์š”ํ•œ ์‹œ์ ์ด ๋˜์—ˆ์œผ๋ฉฐ, ์ด์— ๋Œ€ํ•œ ๊ฐ€์žฅ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋‹จ๊ณ„๋Š” ์›ํ•˜๋Š” ๊ฒฝ์šฐ localhost ๋˜๋Š” ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค์— ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์žฅ ์›น ์„œ๋ฒ„๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋‚˜ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ์ง€์ž‘๊ฑฐ๋ฆฌ์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

@rakoo ๋‹ค์Œ์— ๋Š” ์›น ์„œ๋ฒ„ ์ž‘์—…์— ๊ด€์‹ฌ์ด

์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์ƒ๊ฐ:

  • restic server HTTP ์„œ๋ฒ„ ์‹œ์ž‘
  • restic์€ ๋ฌด์ž‘์œ„๋กœ ์ƒ์„ฑ๋œ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ์•”ํ˜ธ๋ฅผ ํฌํ•จํ•˜๋Š” HTTP URL์„ stdout์— ์”๋‹ˆ๋‹ค(์˜ˆ: http://RarOjHogvueHov:egsevtekwucvith@localhost/snapshots
  • ์›น ์„œ๋ฒ„์—๋Š” HTTP ๋‹ค์ด์ œ์ŠคํŠธ ์ธ์ฆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  localhost์—๋งŒ ๋ฐ”์ธ๋”ฉ๋ฉ๋‹ˆ๋‹ค.

localhost ์ด์™ธ์˜ ๋‹ค๋ฅธ ๊ฒƒ์— ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์„œ๋Š” ์•ˆ ๋˜์ง€๋งŒ ์ •๋ง ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์šฐ๋ฆฌ๋Š” ์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „์— ๋Œ€ํ•ด localhost๋ฅผ ํ•˜๋“œ์ฝ”๋”ฉํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๋ถˆํ‰ํ•˜๋Š”์ง€ ํ™•์ธํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ƒ๊ฐ?

์ด๊ฒƒ์€ ์‚ฌ์šฉ์ž ์ด๋ฆ„/๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์ œ๊ฐ€ ์—ผ๋‘์— ๋‘์—ˆ๋˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค. IMO๋Š” ์ž ์žฌ์  ๊ณต๊ฒฉ์ž์— ๋Œ€ํ•ด ๊ฑฐ์˜ ๊ฐ€์น˜๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์ผ๋ฐ˜ HTTP๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œ์‹œ๋จ).

๋‚˜๋Š” localhost์—๋งŒ ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๊ฒƒ์€ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์šด์˜ํ•˜๋Š” ๊ณต๊ฐ„์„ ๋ณด๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ssh๋ฅผ ํ†ตํ•ด VPS์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค.

backupserver> restic server 5000

clientmachine> ssh -Nf -L 5000:backupserver:5000
clientmachine> open http://localhost:5000/

๋‚˜๋Š” ์ด๊ฒƒ์ด ๊ฝค ์˜ค๋ž˜๋˜์—ˆ์ง€๋งŒ ๋‚˜์—๊ฒŒ์„œ +1์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‚ด์žฅ๋œ ์‚ฌ์šฉ์ž ์ด๋ฆ„/๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ €์—๊ฒŒ ๋„์›€์ด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์€ ์–ด์จŒ๋“  VPN ๋’ค์— ์žˆ์œผ๋ฉฐ ์‹œ์Šคํ…œ ๊ฐ€๋™ ์‹œ ์‹œ์ž‘๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@yatesco ์‹œ์Šคํ…œ ์‹œ์ž‘ ์‹œ ๋…ผ์˜๋œ ์›น ์„œ๋ฒ„ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ํ•˜๋‚˜๊ฐ€ ์ƒ๊ฐ๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” @fd0 - ์ €์žฅ์†Œ๋ฅผ ํŒ€์— ๊ณต๊ฐœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜คํžˆ๋ ค ๋น„์ •์ƒ์ ์œผ๋กœ, ๋‚˜๋Š” ์ฃผ๋ณ€์— ๋งด๋Œ๊ณ  ์‹ถ์ง€ ์•Š์€ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ด ์•„์นด์ด๋ธŒ๋ฅผ '์žฅ๊ธฐ ์ €์žฅ'์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์ง€๋งŒ ํŒ€๊ณผ ์‚ผ๋ฐ” ๊ณต์œ (์˜ˆ: # 377) ๋˜๋Š” ์›น UI๊ฐ€ ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ์„ค๋ช… ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

Samba๋ฅผ ํ†ตํ•ด ํ“จ์ฆˆ ๋งˆ์šดํŠธ๋ฅผ ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ž‘๋™์ด ์•ˆ๋˜๊ณ  ํด๋”๊ฐ€ ์•ˆ๋ณด์ด๋„ค์š”. ํ“จ์ฆˆ ๋งˆ์šดํŠธ๊ฐ€ "allow_other"๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์—ฌ๊ธฐ์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…์„ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค: https://github.com/restic/restic/pull/754#issuecomment -276023059

ํ“จ์ฆˆ ์žฅ์ฐฉ ์˜ต์…˜์— ๋Œ€ํ•ด์„œ๋Š” ๋ฌธ์ œ #767๋„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์šฐ๋ฆฌ์—๊ฒŒ ํ•„์š”ํ•œ ๊ฒƒ์€ ๋‹จ์ง€ ๋ทฐ์–ด์ž…๋‹ˆ๊นŒ? ๋˜๋Š” ๋ชจ๋“  ์ž‘์—…์— ๋Œ€ํ•œ ์ „์ฒด GUI? GUI์— ๋Œ€ํ•ด ์ƒ์ƒํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ ๋ณต์›:

  • ์Šค๋ƒ…์ƒท ๋‚˜์—ด(๋‚ ์งœ, ์Šค๋ƒ… ํฌ๊ธฐ, ์‹ค์ œ ํฌ๊ธฐ ๋“ฑ ํฌํ•จ)
  • ์Šค๋ƒ…์ƒท ์ฐพ์•„๋ณด๊ธฐ(์ •๋ ฌ, ๊ฒ€์ƒ‰ ๋“ฑ)
  • ํŒŒ์ผ ๋ฒ„์ „ ๊ธฐ๋ก ๋ณด๊ธฐ
  • ์Šค๋ƒ…์ƒท ๋˜๋Š” ํด๋”/ํŒŒ์ผ ์„ ํƒ์„ ์‚ฌ์šฉ์ž ๋กœ์ปฌ ๋“œ๋ผ์ด๋ธŒ๋กœ ๋ณต์›

๊ด€๋ฆฌ ๊ธฐ๋Šฅ:

  • ์Šค๋ƒ…์ƒท ์ œ๊ฑฐ
  • ์ง€์›
  • ํ™•์ธํ•˜๋‹ค
  • ์žฌ๊ฑดํ•˜๋‹ค

Electron ์„ ์‚ฌ์šฉํ•˜๋ฉด ํฌ๋กœ์Šค ํ”Œ๋žซํผ/HTML5 GUI๋ฅผ ์œ ์ง€ํ•˜์ง€๋งŒ ํŒŒ์ผ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค, exec ๋ช…๋ น, ssh ์—ฐ๊ฒฐ ์—ด๊ธฐ, ๊ธฐ๋ณธ ๋ชจ๋“ˆ ๋“ฑ๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ๋งํ•  ์ˆ˜ ์—†์ง€๋งŒ ๋‚˜์—๊ฒŒ๋Š” ๋ณต์› ๊ธฐ๋Šฅ์œผ๋กœ ์ถฉ๋ถ„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ €๋Š” ์ฃผ๋กœ Windows ์ƒ์ž์—์„œ ์„œ๋ฒ„์— SSH๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ์ž‘์—…์„ ํ•˜๋ฉฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ฐฑ์—… ๋“œ๋ผ์ด๋ธŒ๋ฅผ ๋น ๋ฅด๊ฒŒ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฌธ์ œ์˜ ํŒŒ์ผ์„ ๋ณด๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„, ์•„์ฃผ ํ›Œ๋ฅญํ•˜๊ฒŒ ์ž‘์—…์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. thx! ์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ๋‚ด 50์„ผํŠธ. ๊ทธ๋ƒฅ '์Šค๋ƒ…์ƒท ๋ณด๊ธฐ'๋Š” ์•ฝ๊ฐ„ ์“ธ๋ชจ์—†๋Š” imho์ž…๋‹ˆ๋‹ค(nginx, samba ๋“ฑ๊ณผ ๊ฐ™์€ ์ˆ˜๋‹จ์œผ๋กœ ๊ฒŒ์‹œ๋œ ํ“จ์ฆˆ ๋งˆ์šดํŠธ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ). ํ™•์‹คํžˆ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์Œ์— ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์œ ์šฉํ•œ ์ž‘์—…์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„ ํƒํ•œ ํ˜ธ์ŠคํŠธ์— ํŒŒ์ผ ๋ณต์›, ๋ณต์› sql์„ ์ผ๋ถ€ db ํ˜ธ์ŠคํŠธ์— ๋คํ”„ํ•˜๊ณ  ๋‚˜๋จธ์ง€ ๋ฐฑ์—…์„ ์‰ฌ์šด ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณต์›ํ•˜์‹ญ์‹œ์˜ค. ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค. 1. ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰/๋ถ„๋ฅ˜ ๋ฐ 2. ๋ฐ์ดํ„ฐ ์•„๋ž˜์—์„œ ์ž‘์—… ์ˆ˜ํ–‰(์˜ˆ: ๋ณต์›, ์‚ญ์ œ, ๊ณต์œ , ๋ถ„๋ฅ˜, ์‚ฌ๋ณธ ๋น„๊ต(diff) ๋“ฑ). FUSE๊ฐ€ ์•„๋‹Œ ์ด์œ : Windows์— ๊ด€ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ UX์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ’๋ถ€ํ•œ ๊ฒ€์ƒ‰๊ณผ ์‰ฌ์šด ๋ณต์›(ํŠน์ • ๋ฐ์ดํ„ฐ ์œ ํ˜• ๋ฐ ์‹œ์Šคํ…œ์— ๋งž๊ฒŒ ์กฐ์ •๋จ)์„ ์ œ๊ณตํ•˜๋Š” ๋ฐฑ์—… ์ €์žฅ์†Œ์šฉ ์›น ํ”„๋ก ํŠธ์—”๋“œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์ •๋ง ๋ฉ‹์ง„ ์ผ์ž…๋‹ˆ๋‹ค. ๋ฐฑ์—… ์ €์žฅ์†Œ(๊ณ ๊ธ‰ ๊ฒ€์ƒ‰, ์›๊ฒฉ ๋ณต์›, ๋ฐฑ์—… ์ •์ฑ… ์ œ์•ˆ, ๋ฐ์ดํ„ฐ ๋งˆ์Šคํ‚น, PII ๋ณดํ˜ธ, ํŒŒ์‡„, ๋ฐ์ดํ„ฐ ๊ทœ์ • ์ค€์ˆ˜, ๋ณด๊ณ  ๋“ฑ)์— ์ ํ•ฉํ•œ 12๊ฐ€์ง€ ์‚ฌ์šฉ ์‚ฌ๋ก€์™€ ๊ทธ ์ค‘ ์ผ๋ถ€์— ๋Œ€ํ•œ ์›น ํ”„๋ก ํŠธ ๋ณด์œ (์ ์–ด๋„ ๊ฒ€์ƒ‰ ๋ฐ ๋ณต์›) ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค! ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ฃผ์š” ๋ชฉ์ ์ด ์ตœ์‹  ๋ฒ„์ „์„ ๋ณต์›ํ•˜๋Š” ๊ฒƒ์ธ ๋ฐฑ์—…์˜ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ์†์ƒ์˜ ๊ฒฝ์šฐ ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ์ถฉ๋ถ„ํ•˜์ง€๋งŒ ์•„์นด์ด๋ธŒ์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด์„œ๋Š” ์›น ํ”„๋ก ํŠธ์—”๋“œ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Btw ๋ฐ์ดํ„ฐ ์•„์นด์ด๋ธŒ๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฉ‹์ง„ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ผ๋ฐ˜ ์Šค๋ƒ…์—์„œ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ์žฅ๊ธฐ ์•„์นด์ด๋ธŒ๋กœ ์ด๋™ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ๋˜ ๋‹ค๋ฅธ ์ด์•ผ๊ธฐ์ด๋ฉฐ ์Šค๋ ˆ๋“œ์˜ ์ฃผ์ œ์—์„œ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ API์—์„œ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๋ž˜ํ•‘ํ•˜์—ฌ ๋‚˜๋จธ์ง€ ์„œ๋ฒ„์—์„œ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ›„์ž๋Š” ํƒ€์‚ฌ ์‹œ์Šคํ…œ๊ณผ์˜ ํ†ตํ•ฉ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก go ๋˜๋Š” nodejs ๋ฐ react ๋˜๋Š” angular๋กœ ์ž‘์„ฑ๋œ restic-web ๋ผ์ธ์„ ๋”ฐ๋ผ ํ˜ธ์ถœ๋˜๋Š” ์™„์ „ํžˆ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

restic์€ Windows์—์„œ https://github.com/dokan-dev/dokany/ ์™€ ๊ฐ™์€ ๊ฒƒ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
๋‚˜๋Š” ๋•Œ๋•Œ๋กœ cppcryptfs๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Linux์—์„œ gocryptfs๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”๋œ Windows์—์„œ ํด๋”์— ์•ก์„ธ์Šคํ•˜๋ฉฐ ํ•ฉ๋ฆฌ์ ์œผ๋กœ ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”,
์ด ๊ธฐ์‚ฌ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค: https://devblogs.microsoft.com/commandline/announcing-wsl-2/
๊ทธ๊ฒƒ์€ ๋งํ•œ๋‹ค:

์ด์ œ WSL 2๋Š” ์ž์ฒด Linux ์ปค๋„์„ ํฌํ•จํ•˜๋ฏ€๋กœ ์™„์ „ํ•œ ์‹œ์Šคํ…œ ํ˜ธ์ถœ ํ˜ธํ™˜์„ฑ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ WSL ๋‚ด์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์•ฑ ์„ธํŠธ๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ํฅ๋ฏธ๋กœ์šด ์˜ˆ๋Š” Linux ๋ฒ„์ „์˜ Docker์™€ FUSE์ž…๋‹ˆ๋‹ค!

WSL์ด ์ž‘๋™ํ•˜๋ ค๋ฉด Hyper-V๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ ๋‹ค์Œ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

1) Hyper-V๋Š” ์ผ๋ถ€ Windows ๋ฒ„์ „์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Windows 10 Pro๋Š” Hyper-V๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ Windows 10 Home์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

2) Hyper-V๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฏธ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋‹ค๋ฅธ ํ•˜์ดํผ๋ฐ”์ด์ € ์†Œํ”„ํŠธ์›จ์–ด(์˜ˆ: VirtualBox ๋“ฑ)์™€ ๊ณต์กดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ด๋ฏธ VirtualBox(๋˜๋Š” ๋‹ค๋ฅธ ํ•˜์ดํผ๋ฐ”์ด์ €)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ WSL์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์š”์•ฝํ•˜๋ฉด WSL์ด ๋ชจ๋“  Windows ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹น์—ฐํ•˜๊ฒŒ ๋ฐ›์•„๋“ค์—ฌ์ ธ์„œ๋Š” ์•ˆ ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@aliron19 ๊ทธ ์ถœ์ฒ˜๋ฅผ ์ธ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ง์žฅ PC์—์„œ WSL์„ ์‚ฌ์šฉํ•˜์—ฌ redis๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์ง€๋งŒ ์ด๊ฒƒ์€ Windows 10 Home PC์ด๋ฏ€๋กœ Hyper-V๋Š” ์—†์ง€๋งŒ WSL์€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq#does -wsl-2-use-hyper-v-will-it-be-available-on-windows-10-home ์ฐธ์กฐ

๋ช…ํ™•ํžˆ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Hyper V ์š”๊ตฌ ์‚ฌํ•ญ์€ WSL 2์— ์ƒˆ๋กœ์šด ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ €๋Š” aliron์ด ์ผ๋ฐ˜์ ์œผ๋กœ WSL์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Windows 10 Home ์‚ฌ์šฉ์ž๊ฐ€ Hyper V๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๋„ ์ข‹์€ ์ ์ž…๋‹ˆ๋‹ค.

HTML ์ธํ„ฐํŽ˜์ด์Šค ๋Œ€์‹  Webdav ์„œ๋ฒ„(#485)๋ฅผ ์„ ํ˜ธํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๋งํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ Windows ํƒ์ƒ‰๊ธฐ์— ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ธŒ๋กœ ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

nodejs๊ฐ€ ์žˆ๋Š” ์„œ๋ฒ„(๋˜๋Š” ์œ ๋‹‰์Šค/๋ฆฌ๋ˆ…์Šค)๊ฐ€ ์žˆ๋‹ค๋ฉด ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

restic mount backup &
npx http-serve backup

๊ทธ๋Ÿฐ ๋‹ค์Œ http://127.0.0.1 :8080์„ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

Capture dโ€™eฬcran 2020-07-24 aฬ€ 17 58 18

์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CTRL + C # stop npx
fg # bring back restic
CTRL + C # stop restic

๋‹น์‹ ์ด ๊ทธ๊ฒƒ์„ ๋งˆ์šดํŠธํ•˜๋Š” ๋™์•ˆ restic์ด ์ €์žฅ์†Œ๋ฅผ ์ž ๊ทธ๋Š”์ง€, ์•„๋‹ˆ๋ฉด ๊ทธ ๋™์•ˆ ๋” ๋งŽ์€ ๋ฐฑ์—…์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋‚˜๋Š” ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ตœ์†Œํ•œ ํŒŒ์ผ์„ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์€ ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@vincent-ogury ์ €๋Š” ์ด ์ œ์•ˆ๋œ ๊ธฐ๋Šฅ์˜ ์š”์ ์ด restic mount _์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š”_ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ๋ฐฑ์—… ๋ณด๊ธฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ๋งž์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Windows์˜ ๋„์ปค ๋‚ด๋ถ€์—์„œ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์›น ๋ฒ„์ „์€ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์— ์ ํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์Šค๋ƒ…์ƒท์„ ํ‘œ์‹œํ•˜๊ณ , ๋ณด๊ณ , ์žŠ์–ด๋ฒ„๋ฆฌ๊ณ , ์ƒˆ ๋ฐฑ์—…์„ ์‹œ์ž‘ํ•˜๋Š” ๋ช…๋ น์ค„์„ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ž‘์—…ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์•„์ด๋””์–ด๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋ณธ html ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋ฐ”๋‹๋ผ Go http ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” Windows์—์„œ Restic์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋ณดํŽธ์ ์ธ ๊ธฐ๋ณธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋‚ด ์ž‘์—…์˜ ๋ฒ”์œ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ
Restic์€ Windows์—์„œ ๋ฐฑ์—…์„ ํƒ์ƒ‰ํ•˜๋Š” ํŽธ๋ฆฌํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ผ
๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—…์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋ณต์›ํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์žฅ ์›น ์„œ๋ฒ„์˜ ๊ธฐ๋ณธ ๊ฐœ๋… ์ฆ๋ช…์„ ๊ตฌํ˜„ํ•ด ๋ณด์‹ญ์‹œ์˜ค.

์˜ˆ์‹œ
๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ๋‘ ๊ฐœ์˜ ๋ฐฑ์—…์ด ์ƒ์„ฑ๋˜๊ณ  ๋ช…๋ น์ค„์„ ํ†ตํ•ด ๋ฐฑ์—…์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

openssl rand -hex 10 > ~/.restic-password
restic -p ~/.restic-password ์ดˆ๊ธฐํ™” --repo /tmp/backup

๋ฐฑ์—… ๋งŒ๋“ค๊ธฐ

restic -p ~/.restic-password --repo /tmp/๋ฐฑ์—… ๋ฐฑ์—… ~

์ผ๋ถ€ ๋ณ€๊ฒฝ

๋‚ ์งœ > ~/file-with-changes.txt

๋‹ค์Œ ๋ฐฑ์—…์„ ๋งŒ๋“œ์‹ญ์‹œ์˜ค

restic -p ~/.restic-password --repo /tmp/๋ฐฑ์—… ๋ฐฑ์—… ~

์–ด๋–ค ๋ฐฑ์—…์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

restic -p ~/.restic-password --repo /tmp/backup ์Šค๋ƒ…์ƒท

์ €์žฅ์†Œ 2ad83051์ด ์„ฑ๊ณต์ ์œผ๋กœ ์—ด๋ ธ์Šต๋‹ˆ๋‹ค. ์•”ํ˜ธ๊ฐ€ ์ •ํ™•ํ•ฉ๋‹ˆ๋‹ค.

ID ์‹œ๊ฐ„ ํ˜ธ์ŠคํŠธ ํƒœ๊ทธ ๊ฒฝ๋กœ

b8ee7b24 2020-09-11 17:20:17 thorsten-devvm-v3 /root

99388d0b 2020-09-11 17:21:23 Thorsten-devvm-v3 /๋ฃจํŠธ

2๊ฐœ์˜ ์Šค๋ƒ…์ƒท

๋ฐฑ์—… ์•ˆ์— ๋ฌด์—‡์ด ๋“ค์–ด ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค.

restic -p ~/.restic-password --repo /tmp/backup ls -l 99388d0b

๋ฐฑ์—…์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์˜ json ํ˜•์‹ ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

restic -p ~/.restic-password --repo /tmp/backup ls -l --json 99388d0b|jq

ํŒŒ์ผ์ด ๋ฐฑ์—…์— ์žˆ๋Š”์ง€ ํ™•์ธ

restic -p ~/.restic-password --repo /tmp/backup snmp.json ์ฐพ๊ธฐ

ํŒŒ์ผ ๋ณต์›

restic -p ~/.restic-password --repo /tmp/backup ์ตœ์‹  ๋ณต์› --target /tmp/restore --include "/root/snmp.json"
๋ช…์„ธ์„œ
์ด์™€ ๊ฐ™์€ ๊ฒƒ์„ ์‹คํ–‰ํ•˜๋ฉด ์›น ์„œ๋ฒ„๊ฐ€ ์‹œ์ž‘๋˜๊ณ  ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฑ์—…์ด "์—ด๋ฆฐ" ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
restic -p ~/.restic-password --repo /tmp/backup ์›น ์„œ๋ฒ„ 127.0.0.1:3344

๋ธŒ๋ผ์šฐ์ €์—์„œ HTTP://127.0.0.1 :3344๋ฅผ

์ฒซ ๋ฒˆ์งธ ์—ด์˜ ID๋ฅผ ํด๋ฆญํ•˜๋ฉด ์Šค๋ƒ…์ƒท์— ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์˜ ํŠธ๋ฆฌ ๋ณด๊ธฐ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. restic -p ~/.restic-password --repo /tmp/backup ls -l๊ณผ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ--json ๋ฐ˜ํ™˜์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํŠธ๋ฆฌ ๋ทฐ๋Š” ์ฒ˜์Œ์— ์ ‘๊ณ  ํŽผ์น˜๊ฑฐ๋‚˜ ์•„์ด์ฝ˜์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋˜๋Š” ์Šค๋ƒ…์ƒท์˜ ๊ฒฝ๋กœ(5๋ฒˆ์งธ ์—ด)๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ด ๊ฒฝ๋กœ์—๋งŒ ์†ํ•˜๋Š” ๋ฐฑ์—…์˜ ํŒŒ์ผ ๋ชฉ๋ก์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. restic -p ~/.restic-password --repo /tmp/backup ls -l ๊ณผ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.--๊ธธ--json

๋‹จ์ผ ํŒŒ์ผ์„ ํด๋ฆญํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ƒ์ ์œผ๋กœ๋Š” ํŒŒ์ผ์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ํŒŒ์ผ์˜ ๋‚ ์งœ๋ณ„๋กœ ์ •๋ ฌ๋œ ๋ชจ๋“  ๋‹ค๋ฅธ ๋ฒ„์ „ ๋ชฉ๋ก์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
์Šค๋ƒ…์ƒท์€ ํ•ญ์ƒ ์ „์ฒด ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ฐ€์ƒ ๋ณด๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์˜ ๋‹ค๋ฅธ ๋ฒ„์ „์„ ์‹๋ณ„ํ•˜๋ ค๋ฉด ๋ช…๋ น์ค„์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
restic -p ~/.restic-password --repo /tmp/backup ์ฐพ๊ธฐ /root/snmp.json --json|jq
mtime์ด ๋™์ผํ•œ ๋ชจ๋“  ๊ฐ์ฒด๋Š” ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์ผ ๊ฐ์ฒด๋กœ ์ถ•์†Œ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ™์€๊ณผ ์ฐฝ์— "๋งˆ์šดํŠธ restic"์˜ ์ง€์›์„ ์ถ”๊ฐ€ ์ด๋Ÿด dokany ๊ฐ™์€ ๋ฆฌ๋ˆ…์Šค์™€ ์œˆ๋„์šฐ์—์„œ ์›Œํฌ ํ”Œ๋กœ์šฐ ๋ณต์›์ด ๋” ์ดํ•ดํ•˜๊ณ , ํŒŒ์ผ์„ ์ฐพ์•„ OS ํƒ์ƒ‰๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณต ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Windows ์ด์™ธ์˜ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์—์„œ์™€ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ Restic does not provide a handy way to browse through the backups on Windows ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ์†Œ๋Š” https://github.com/restic/restic/pull/2862 ๋ฅผ ์ฐธ์กฐ

๋ฌผ๋ก ์ด์ง€๋งŒ "์ผ๋ฐ˜์ ์ธ" Windows ์‚ฌ์šฉ์ž๊ฐ€ ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ฝค ์–ด๋ ต๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ œ ๋ชฉํ‘œ๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ @vincent-ogury์™€ @celogeek์ด ์ œ์•ˆํ•œ ์‚ฌํ•ญ(๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!)์„ ๋ชจ์•„ ์ด dockerfile์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. https://github.com/stevedenman/restic-browser-docker
๋‚ด Windows ์‹œ์Šคํ…œ(wsl2์˜ Docker์—์„œ)์—์„œ ์‹คํ–‰ํ–ˆ์œผ๋ฉฐ ์Šค๋ƒ…์ƒท ํƒ์ƒ‰ ๋ฐ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ์— ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ฏธ์•ˆ ์–˜๋“ค์•„ ๋‚ด๊ฐ€ ํ•˜์ง€ ๋ง๋ผ๊ณ  ํ–ˆ์–ด? ๊ทธ๊ฒŒ ์™œ ๋ฌธ์ œ์•ผ? ์ œ์•ˆ๋œ ์†”๋ฃจ์…˜์€ ์ œ ๊ฒฝ์šฐ์—๋Š” ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•˜๊ณ (์ •์˜๋œ ํ”Œ๋ž˜๊ทธ๋กœ) ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค!

์—ฌ๋ณด์„ธ์š”.

๋™๋ฃŒ restic ์‚ฌ์šฉ์ž๋กœ์„œ ๋‚˜๋Š” ์ฃผ์ œ์— ๋Œ€ํ•ด 2 ์„ผํŠธ๋ฅผ ๋–จ์–ด ๋œจ๋ฆฌ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ธฐ์ˆ ์— ์ •ํ†ตํ•œ ์‚ฌ์šฉ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ์ƒํ™ฉ์ด ์ œํ•œ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋˜ํ•œ ๊ธฐ์ˆ ์— ์ •ํ†ตํ•œ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด restic์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ˜„์žฌ ์†”๋ฃจ์…˜์€ ์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋ณต์žกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋กœ์ปฌ ์›น ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์†”๋ฃจ์…˜์„ ๋Œ€์ฒดํ•ด์„œ๋Š” ์•ˆ๋˜์ง€๋งŒ ๋ถ€์ˆ˜์ ์ธ ์†”๋ฃจ์…˜์œผ๋กœ ๊ทธ๋Ÿฐ ๊ฒƒ์ด ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„๋งˆ๋„ ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด restic์— ๋” ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”.

"Windows ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค"๋Š” ์˜๊ฒฌ์— ์ „์ ์œผ๋กœ ๋™์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์šฐ์„ , ์ด ์‚ฌ์šฉ์ž๋“ค์€ ์ด๋ฏธ ์ž์‹ ์˜ ํ•ญ๋ชฉ์„ ๋ฐฑ์—…ํ•˜๊ธฐ ์œ„ํ•ด restic์„ ์‹คํ–‰ํ–ˆ์œผ๋ฉฐ ๋ฐฑ์—… ๋ช…๋ น ๋Œ€์‹  ๋งˆ์šดํŠธ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋” ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‘˜์งธ, ๋ช…๋ น์ค„์„ ์—ด๊ณ  ์—ฌ๊ธฐ์— restic -r foo mount bar ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ง„์ง€ํ•˜๊ฒŒ, ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์–ด๋ ค์šด ์ผ์ž…๋‹ˆ๊นŒ? ๋ˆ„๊ตฐ๊ฐ€ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ๋‹ค๋ฉด ๊ทธ ์‚ฌ๋žŒ๋“ค์€ ์Šค์Šค๋กœ ๊ต์œกํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ "์–ด๋ ค์šด" ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋‹จ ํ•˜๋‚˜์˜ ๋ช…๋ น์ค„์ž…๋‹ˆ๋‹ค.

ํŽธ์ง‘: ๋ช…ํ™•ํžˆ ํ•˜์ž๋ฉด #2862์—์„œ์™€ ๊ฐ™์ด Windows์—์„œ ์ž‘์—…ํ•˜๋Š” restic mount ์ฃผ์–ด์ง„ Windows ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์ด๊ฒƒ์ด ์ „ํ˜€ ์–ด๋ ต์ง€ ์•Š์•„์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. @filippobottega ๊ฐ€ ๋ฐ”๋กœ ์•„๋ž˜์— ์“ด ๋‚ด์šฉ์„ ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ด ์ฃผ์„์€ ์ผ๋ฐ˜ Windows ์‚ฌ์šฉ์ž์—๊ฒŒ ์‰ฝ์Šต๋‹ˆ๋‹ค. restic mount ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด WSL์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”,
WSL2๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Windows ํƒ์ƒ‰๊ธฐ์— restic ๋ฐฑ์—…์„ ์„ฑ๊ณต์ ์œผ๋กœ ํƒ‘์žฌํ–ˆ์ง€๋งŒ ์˜ˆ์ƒ๋Œ€๋กœ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. Windows 10์šฉ Linux ์„ค์น˜ ๊ฐ€์ด๋“œ์˜ Windows ํ•˜์œ„ ์‹œ์Šคํ…œ์— ์„ค๋ช…๋œ ๋Œ€๋กœ WSL2๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  2. Windows์—์„œ /etc/nginx/nginx.conf๋ฅผ ํŽธ์ง‘ํ•  ์ˆ˜ ์—†์Œ์˜ gurnec ์‘๋‹ต์— ์„ค๋ช…๋œ ๋Œ€๋กœ Ubuntu์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž๋ฅผ ๋ฃจํŠธ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  3. Ubuntu ์„ธ์…˜์— ๋ฃจํŠธ๋กœ ๋กœ๊ทธ์˜จํ•˜๊ณ  ๋งˆ์šดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์›์— ์„ค๋ช…๋œ ๋Œ€๋กœ ๋‚˜๋จธ์ง€ ๋ฐฑ์—… restic -r /mnt/c/ResticBackup -p /mnt/c/ResticBackup/password-file.txt mount /mnt/restic

    ๋งˆ์ง€๋ง‰์— ๋‹ค์Œ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

image

๋‘˜์งธ, ๋ช…๋ น์ค„์„ ์—ด๊ณ  ์—ฌ๊ธฐ์— restic -r foo mount bar๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ง„์ง€ํ•˜๊ฒŒ, ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์–ด๋ ค์šด ์ผ์ž…๋‹ˆ๊นŒ?

ํ•˜์ดํผ๋ฐ”์ด์ €๊ฐ€ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๋Š” BIOS ์˜ต์…˜์„ ๊ณ ๋ คํ•˜๊ณ  WSL์„ ์„ค์ •ํ•˜๊ณ  ์˜ค์ž‘๋™์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์ง„๋‹จํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์€ ๋งค์šฐ ํž˜๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ์ƒ๊ฐ์—๋Š” ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” VmWare ๋ฐ VirtualBox์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” Microsoft Hypervisor๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์ด ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

LAN์—์„œ ๊ณต์œ ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์›น ๋ธŒ๋ผ์šฐ์ € ํฌ์ธํŠธ ์•ค ํด๋ฆญ์ด ํ›จ์”ฌ ์‰ฝ๊ณ  http๊ฐ€ smb์˜ Windows ๋ฒ„์ „๋ณด๋‹ค ์•ฝ๊ฐ„ ๋” ์ž˜ ์ง€์›๋ฉ๋‹ˆ๋‹ค(ํžŒํŠธ: ๋ธŒ๋ผ์šฐ์ €). ๋˜ํ•œ smb๋ฅผ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ๋งˆ์šดํŠธ๋ฅผ ๋…ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋Š” ๋ช…ํ™•ํ•˜์ง€ ์•Š์ง€๋งŒ ๊ฐ€๋Šฅํ•˜๋”๋ผ๋„ ์š”์ ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ์ƒ๊ฐ์—๋Š” ์›น ๋ธŒ๋ผ์šฐ์ € ์˜ต์…˜์ด ๋” ๊ฐ„๋‹จํ•˜๋‹ค๋Š” ๋ฐ๋Š” ์˜๋ฌธ์˜ ์—ฌ์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ํ•˜์ดํผ๋ฐ”์ด์ €๊ฐ€ ์ž‘๋™ํ•˜๋„๋ก BIOS ์˜ต์…˜์„ ๊ณ ๋ คํ•œ๋‹ค๋ฉด WSL์„ ์„ค์ •ํ•˜๊ณ  ์˜ค์ž‘๋™์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์ง„๋‹จํ•˜๋Š” ๋“ฑ

@AndrewSav ๊ทธ๊ฒƒ์€ ์—ฌ๊ธฐ์—์„œ ๋…ผ์˜๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. @rawtaz์˜ ๋Œ“๊ธ€ ๋ณด๊ธฐ(๊ฐ•์กฐ ๊ด‘์‚ฐ)

ํŽธ์ง‘: ๋ช…ํ™•ํžˆ ํ•˜์ž๋ฉด #2862_์—์„œ์™€ ๊ฐ™์ด Windows์—์„œ ์ž‘์—…ํ•˜๋Š” restic mount Windows ์‚ฌ์šฉ์ž @filippobottega ๊ฐ€ ๋ฐ”๋กœ ์•„๋ž˜์— ์“ด ๋‚ด์šฉ์„ ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ด ์ฃผ์„์€ ์ผ๋ฐ˜ Windows ์‚ฌ์šฉ์ž์—๊ฒŒ ์‰ฝ์Šต๋‹ˆ๋‹ค. restic mount ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด WSL์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@cfbao ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์ปค๋„ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ํ•ญ์ƒ ์ถ”๊ฐ€ ์ปค๋„ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ ์˜ต์…˜์„ ์ง€์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ฌ๋Š” ๊ฒƒ์ด ํƒ€์‚ฌ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๊ฐ„๋‹จํ•˜๋‹ค๋Š” ์ ์— ์˜์‹ฌ์˜ ์—ฌ์ง€๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๊ทธ ํ›„์— ์žฌ๋ถ€ํŒ…ํ•˜๊ณ  ๋ชจํ˜ธํ•œ ๋ช…๋ น์ค„์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ ํƒ์ƒ‰์„ ์œ„ํ•ด ํด๋ฆญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).

ํƒ€์‚ฌ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๋ฉด ํ•ด๋‹น ๋“œ๋ผ์ด๋ฒ„์— ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ „์ฒด ์‹œ์Šคํ…œ์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค๋Š” ๋ถ„๋ช…ํ•œ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ, ํ›จ์”ฌ ๋” ๊ฐ„๋‹จํ•œ(๋ธŒ๋ผ์šฐ์ €) ์˜ต์…˜์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํƒ€์‚ฌ ๋“œ๋ผ์ด๋ฒ„์— ๋Œ€ํ•œ restic์˜ ์š”๊ตฌ ์‚ฌํ•ญ์€ ํ•ฉ๋ฆฌ์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋ณผ ์ˆ˜์žˆ๋Š” ํ•œ ์ด๋Ÿฌํ•œ ์˜ต์…˜์€ ๋ชจ์ˆœ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ restic์€ ๋‘ ๊ฐ€์ง€๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜๋ฏ€๋กœ ๋‘ ๊ทธ๋ฃน์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@cfbao ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์ปค๋„ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ํ•ญ์ƒ ์ถ”๊ฐ€ ์ปค๋„ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ ์˜ต์…˜์„ ์ง€์ง€ํ•ฉ๋‹ˆ๋‹ค.

@AndrewSav ์š”์ ์€ ๋ชจ๋“  Windows ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•œ ์ž‘์—…์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์›น ์„œ๋ฒ„๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํ•œ๊ณ„ ํšจ์šฉ์ด ํฌ๊ฒŒ ์ค„์–ด๋“ค๊ณ  ์ œํ•œ๋œ ๊ฐœ๋ฐœ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ ๋น„์šฉ์„ ์ •๋‹นํ™”ํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@AndrewSav ์›น ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ฐฑ์—…์„ ๋‘˜๋Ÿฌ๋ณด๊ธฐ์— ์ข‹์Šต๋‹ˆ๋‹ค. ์ƒ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ๋ณต์›ํ•˜๋Š” ์ž‘์—…์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ ๋งˆ์šดํŠธ๋œ ์ ์ ˆํ•œ ํŒŒ์ผ ๊ด€๋ฆฌ์ž์™€ ๋ฐฑ์—… ์Šค๋ƒ…์ƒท์„ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. Restic์ด WebDAV ํด๋ผ์ด์–ธํŠธ ์ œํ•œ์œผ๋กœ ์ธํ•ด Windows์—์„œ ์—ฌ์ „ํžˆ ์—ด๋“ฑํ•œ ์†”๋ฃจ์…˜์ธ WebDAV ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋’ท๋ฉด์— ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด: 1) ๊ธฐ๋ณธ ์ตœ๋Œ€ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ์€ 50M์ด๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” ์ด๋ฅผ 4G๋กœ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์กฐ์ž‘์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 2) ์ผ๋ถ€ ๋ฌธ์ž๋Š” ํŒŒ์ผ ์ด๋ฆ„์—์„œ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ œ ์ƒ๊ฐ์—๋Š” ์›น ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ ์ ˆํ•œ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋งˆ์šดํŠธ๊ฐ€ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ๋‹ค์†Œ ๋‹ค๋ฅธ ๋ณด์™„ ๊ธฐ๋Šฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
ํƒ€์‚ฌ ์ปค๋„ ๋“œ๋ผ์ด๋ฒ„(์˜ˆ: http://www.secfs.net/winfsp/)๋Š” ํ•œ ๋ฒˆ๋งŒ ์„ค์น˜ํ•˜๋ฉด ๋˜๋ฉฐ ์žฌ๋ถ€ํŒ…ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ "๋ถˆ๋ถ„๋ช…ํ•œ ๋ช…๋ น์ค„ ์‹คํ–‰"์— ๋Œ€ํ•œ ์ฃผ์žฅ์„ ์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ถ€ restic ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์•ผ ํ•˜์ง€ ์•Š์„๊นŒ์š”?

์ž…๋ ฅํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์š”์•ฝํ•˜์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • @fd0 ์€ ์ด์ „์— ์ด ๋ฌธ์ œ์—์„œ HTTP ์ œ๊ณต ์ €์žฅ์†Œ ๋ธŒ๋ผ์šฐ์ € ๊ตฌํ˜„์„ ์ œ์•ˆํ•˜๊ณ  ์Šน์ธํ–ˆ์œผ๋ฉฐ https://github.com/restic/restic/issues/60#issuecomment -122898872์—์„œ ์ž์„ธํžˆ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€ ์Šค๋ƒ…์ƒท๊ณผ ํ•ด๋‹น ํŒŒ์ผ์„ ํƒ์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ํ”Œ๋žซํผ ์ค‘๋ฆฝ์ ์ธ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ฐ˜์ ์ธ ์˜๊ฒฌ์€ ์šฐ๋ฆฌ๊ฐ€ ์‹ค์šฉ์ ์ธ ๋ฒ”์œ„์—์„œ ํŒŒ์ผ์„ ๋ณต์›ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ์ „์ฒด ์•„์นด์ด๋ธŒ๋ฅผ ๋ณต์›ํ•  ์ˆ˜ ์—†์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ์ง€๋งŒ "ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ " ๋™์ž‘).
  • ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ์ฝ๊ธฐ ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • WebDAV๋Š” ํŒŒ์ผ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ์˜ต์…˜์ด์ง€๋งŒ ํด๋ผ์ด์–ธํŠธ ์ง€์› ์ธก๋ฉด์—์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์–ด๋Š ์‹œ์ ์—์„œ WebDAV๋„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ ๋˜๋Š” ์›น ์„œ๋ฒ„๊ฐ€ ๋‹ค๋ฅธ ํ•˜๋‚˜๋ฅผ ๋ฐฐ์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ๋“ค์€ ๋ณ„๊ฐœ์˜ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

๊ณ„์†๋˜๋Š” ์ž‘์—…๊ณผ ์ด์— ๋Œ€ํ•œ PR์„ ๋ฐฉํ•ดํ•˜๋Š” ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ์ง€์ง€ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ๋ž˜์•ผ๋งŒ ํ•ด:

  • ์ž‘๊ฒŒ ์‹œ์ž‘ํ•˜์—ฌ ์Šค๋ƒ…์ƒท๊ณผ ํŒŒ์ผ์„ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์›น GUI๋ฅผ ๋งŒ๋“  ๋‹ค์Œ ๊ฒฌ๊ณ ํ•œ ๊ธฐ๋ฐ˜์ด ํ™•๋ณด๋˜๋ฉด ๋ณต์› ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • restic serve http ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์ž‘ํ•˜๋„๋ก ํ•˜๋ฉด ๋‚˜์ค‘์— restic serve webdav ๋ฐ restic serve rest ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ์ž„์‹œ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ์•”ํ˜ธ๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ํ•˜์‹ญ์‹œ์˜ค.
  • restic serve http 127.0.0.1:8080 ์™€ ๊ฐ™์€ ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ”์ธ๋”ฉํ•  IP/ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋ฐ ํฌํŠธ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ž์‚ฐ/HTML/JS/CSS๋ฅผ ํ•˜๋“œ์ฝ”๋”ฉํ•˜๋Š” ์ถ”์•…ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ง€ ๋ง๊ณ  ๋Œ€์‹  https://github.com/tv42/becky๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ์ ˆํ•œ ์›น GUI๋ฅผ ํฌํ•จํ•˜๊ฑฐ๋‚˜ net/http/#FileServer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์ž‘
  • ์ด๊ฒƒ์€ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์ƒ๋‹นํ•œ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋Š” ๊ธฐ๋Šฅ์ด๋ฉฐ ์šฐ๋ฆฌ๊ฐ€ ๋ฐค์ƒˆ ํ•  ์ผ์ด ์•„๋‹˜์„ ์ธ์‹ํ•˜์‹ญ์‹œ์˜ค.

๊ธฐ์กด ์ž‘์—… ๋ฐ ์œ ์‚ฌํ•œ ์ฐธ์กฐ:

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰