Restic: ์ผ์ •์— ๋”ฐ๋ผ ๋ฐฑ์—…์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2016๋…„ 05์›” 14์ผ  ยท  36์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: restic/restic

๋ฌธ์„œ์—์„œ ์ด๊ฒƒ์— ๋Œ€ํ•ด ์•„๋ฌด๊ฒƒ๋„ ์ฐพ์„ ์ˆ˜ ์—†๊ฑฐ๋‚˜์ด ์ €์žฅ์†Œ๋ฅผ ๊ฒ€์ƒ‰ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฐฑ์—…์„ ์–ด๋–ป๊ฒŒ ์˜ˆ์•ฝํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

์ผ๋ฐ˜์ ์œผ๋กœ ๋‚˜๋Š” ํฌ๋ก  ์ž‘์—…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ restic์€ ๋ชจ๋“  ๋ช…๋ น์— ์•”ํ˜ธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฐพ์„ ์ˆ˜์žˆ๋Š” ์•”ํ˜ธ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ž‘์—…์ด ์ƒํ˜ธ ์ž‘์šฉํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

๋‚˜๋Š” ๊ธฐ๋Œ€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์˜คํžˆ๋ ค restic์— ๋‚ด์žฅ ๋œ ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

restic version

restic 0.1.0 (v0.1.0-548-g795e3d5)
go1.6.1๋กœ 2016-05-14 07:41:18์— ์ปดํŒŒ์ผ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

questioproblem

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

์ด๊ฒƒ์„ ๋ฌธ์„œํ™” ์ž‘์—…์œผ๋กœ ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ๋ช…ํ™•์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋งค๋‰ด์–ผ์— "์Šค์ผ€์ค„๋ง"์„น์…˜์„ ์ถ”๊ฐ€ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์•ฝ์€ Restic์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ์™ธ๋ถ€ ๋„๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ๊ฐ?

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

์— ๋”ฐ๋ฅด๋ฉด ์ด , ๋‹น์‹ ์€ ์•”ํ˜ธ๋ฅผ ์ง€์ •ํ•˜๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜ RESTIC_PASSWORD๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@pvgoran์ด ์ด๋ฏธ ๋งํ–ˆ๋“ฏ์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜ RESTIC_PASSWORD ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ http://restic.readthedocs.io/en/latest/Manual/#initialize -a-repository์˜ ๋งค๋‰ด์–ผ์— ๋ฌธ์„œํ™”๋˜์–ด

ํŒŒ์ผ์—์„œ ์•”ํ˜ธ๋ฅผ ์ฝ๋Š” ๋ฌธ์ œ # 278๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ ๋‹น์žฅํ•ด์•ผ ํ•  ์ผ์ด ์—†์œผ๋ฏ€๋กœ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋™์˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๋Œ“๊ธ€์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.

์•„์•ผ, ๋‚˜๋Š” ๊ทธ ์„น์…˜์„ ์ฝ์—ˆ๋‹ค ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค ....

ํ•ด๋‹น ๋‹จ๋ฝ์— ์ž์ฒด ์ œ๋ชฉ ๋˜๋Š” ๋ถ€์ œ๋ชฉ์„ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ์„น์…˜์˜ ์ฒ˜์Œ ๋„ค ๋‹จ๋ฝ์€ ์ €์žฅ์†Œ ์ดˆ๊ธฐํ™”์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๋ฐฑ์—… ์ž๋™ํ™”๋Š” ๊ทธ์— ๋งž์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋น ๋ฅธ ๋‹ต๋ณ€, btw์— ๋Œ€ํ•ด @pvgoran ์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. :๋ฏธ์†Œ:

์ด๊ฒƒ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ํ›„์† ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. cron์ด restic์„ ๋‹ค์‹œ ์‹คํ–‰ํ•  ๋•Œ๊นŒ์ง€ ๋ฐฑ์—…์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์œผ๋ฉด ์–ด๋–ป๊ฒŒ๋ฉ๋‹ˆ๊นŒ?

์ด ๊ฒฝ์šฐ restic์€ ์ฒซ ๋ฒˆ์งธ (์•„์ง ์‹คํ–‰์ค‘์ธ) ๋ฐฑ์—…์—์„œ ์ด๋ฏธ ์—…๋กœ๋“œ ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‘ ๋ฒˆ์งธ (๋ณ‘๋ ฌ) ๋ฐฑ์—…์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฐฑ์—…์ด ๊ฑฐ์˜ ๋™์‹œ์— ์™„๋ฃŒ ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฒˆ์— prune ๋ช…๋ น์ด ์‹คํ–‰๋  ๋•Œ ์ •๋ฆฌ๋˜๋Š” ์ผ๋ถ€ ๋ฐ์ดํ„ฐ ์ค‘๋ณต์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐ์ดํ„ฐ ์†์ƒ์ด๋‚˜ ๋ฐ์ดํ„ฐ ์†์‹ค์€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ €์žฅ์†Œ ํ˜•์‹์€ ๋ฐ์ดํ„ฐ์˜ ๋ณ‘๋ ฌ ์—…๋กœ๋“œ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ์•„์ง ์ƒ๊ฐํ•˜์ง€ ์•Š์€ ํฅ๋ฏธ๋กœ์šด ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋ฐฑ์—…์ด ๋™์ผํ•œ ํ˜ธ์ŠคํŠธ์—์„œ ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•˜๊ณ ์ด ๊ฒฝ์šฐ ์ข…๋ฃŒํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

@ fd0 ์•„๋งˆ๋„ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋ฐฑ์—…์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ์ž๋™ํ™” ๋œ ๋ฐฑ์—…์„ ์Šคํฌ๋ฆฝํŒ…ํ•˜๋Š” ๊น”๋”ํ•œ ๋ฐฉ๋ฒ• : ์˜ˆ๋ฅผ ๋“ค์–ด "restic backup", "restic unlock", "restic prune"์ˆœ์œผ๋กœ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ์ถ”๊ฐ€ ๋ช…๋ น์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€์—†๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

restic backup ๋‹ค์Œ์— restic forget ๋ฐ restic prune ์ด (๊ฐ€) ์ผ๋ฐ˜์ ์ธ ์›Œํฌ ํ”Œ๋กœ์ด๋ฉฐ ์ •๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ์–ด์จŒ๋“ ์ด ์•„์ด๋””์–ด๋ฅผ ์ถ”์  ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ง€๊ธˆ์€ ๊ทธ ํ๋ฆ„์„ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋„์›€์ด ๋  ์ˆ˜์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ ์˜ต์…˜์€ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋งค๊ฐœ ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค. ํฌ๋ก  ์ž‘์—…์ด X ์‹œ๊ฐ„๋งˆ๋‹ค ๋ฐฑ์—…์„ ์˜ˆ์•ฝํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด --timeout์„ restic์— ์ „๋‹ฌํ•˜์—ฌ ๋‹ค์Œ ์ž‘์—…์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ข…๋ฃŒ๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฒƒ๋“ค์—๋„ ์œ ์šฉ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. (์ด๋ฏธ ์กด์žฌํ•  ์ˆ˜ ์žˆ์Œ, ๋‚˜๋Š” restic์„ ์ฒ˜์Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค)

restic์ด ์ด๋ฏธ ์‹คํ–‰๋˜๊ณ  ์žˆ์Œ์„ ๊ฐ์ง€ํ•˜๋Š” ๊ฒƒ์€ ๊นŒ๋‹ค๋กœ์šด ์†Œ๋ฆฌ์ด๋ฉฐ restic ์ž์ฒด์—์„œ ์ •ํ™•ํ•˜๊ณ  ๊น”๋”ํ•˜๊ฒŒ ์ˆ˜ํ–‰๋˜๋Š” ๋ฐฉ๋ฒ•์ด ์•„๋‹™๋‹ˆ๋‹ค. ํŠนํžˆ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋™์‹œ์— ๋‹ค๋ฅธ restic ๋ฐฑ์—…์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ๋‹ค๋ฅธ ๋งŽ์€ ๋ฆฌ๋ˆ…์Šค ์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ์™€ ์œ ์‚ฌํ•œ ์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ๋Š” ์‹œ์ž‘๋  ๋•Œ restic์˜ PID๋ฅผ ์ทจํ•˜๊ณ  ๊ทธ๊ฒƒ์„ tmp ํŒŒ์ผ์— ์ €์žฅ ํ•œ ๋‹ค์Œ restic์ด ๋๋‚˜๋ฉด ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ํŒŒ์ผ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ณ ์œ  ํ•œ ์˜ˆ์•ฝ ๋œ ๋ฐฑ์—…๋งˆ๋‹ค ๋‹ค๋ฅธ tmp ํŒŒ์ผ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ ์‹คํ–‰์ค‘์ธ restic ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ๋ชจ๋“  ๋ฐฉ๋ฒ•์€ ๋กœ์ปฌ ์ธ์Šคํ„ด์Šค๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ฐฑ์—”๋“œ (SFTP, REST, S3 ...)์—์„œ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

@zcalusic ์šฐ๋ฆฌ๋Š” ์ž ๊ธˆ ํŒŒ์ผ์— ์ €์žฅ๋œ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ https://github.com/restic/restic/blob/master/src/restic/lock.go#L27 -L33, ํŒŒ์ผ ๋ชฉ๋ก ์ถ”๊ฐ€ ๊ฐ€๋Šฅ ๋ฐฑ์—… ๋˜๋Š” ์ •ํ™•ํ•œ ๋ช…๋ น ์ค„ ์ธ์ˆ˜ ๋˜๋Š” ์ด์™€ ์œ ์‚ฌํ•œ ๊ฒƒ.

๋‚˜๋Š” ์—ฌ์ „ํžˆ ์‹œ์Šคํ…œ A์—์„œ ํœด์‹์„ ์ทจํ•˜๊ณ  ๋ฐฑ์—… ์„œ๋ฒ„ ์‹œ์Šคํ…œ B์—์„œ ์ž ๊ธˆ์„ ์ฐพ๊ณ  a) ์‹œ์Šคํ…œ C์—์„œ ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ํœด์‹ ์„ธ์…˜๊ณผ b) ์‹œ์Šคํ…œ C์˜ ํœด์‹์ด ์ค‘๋‹จ ๋œ ํ›„ ๋‚จ์€ ๋ถ€์‹ค ์ž ๊ธˆ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์•„๋‹ˆ๋ฉด ์—ฌ๊ธฐ์„œ RPC ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ๋” ๋‚˜์€ ๋ถ„์‚ฐ ์ž ๊ธˆ ๊ด€๋ฆฌ์ž? ๐Ÿ˜„

@zcalusic ์ €๋Š” # 711์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค : ๋™์ผํ•œ ๋จธ์‹ ์—์„œ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฐ€์ง„ ๋‘ ๋ฒˆ์งธ ๋ฐฑ์—…์ด ์‹œ์ž‘๋  ๋•Œ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

@bwmarrin ๋‹น์‹ ์ด ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

ํฌ๋ก  ์ž‘์—…์ด X ์‹œ๊ฐ„๋งˆ๋‹ค ๋ฐฑ์—…์„ ์˜ˆ์•ฝํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด --timeout์„ restic์— ์ „๋‹ฌํ•˜์—ฌ ๋‹ค์Œ ์ž‘์—…์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ข…๋ฃŒ๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฑ์—…์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ์ทจ์†Œ / ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒ์˜ --timeout ๋งค๊ฐœ ๋ณ€์ˆ˜์— ์ฃผ์–ด์ง„ ๊ธฐ๊ฐ„์— ๊ด€๊ณ„์—†์ด ๋ฐฑ์—…์— ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ๋ฐฑ์—… ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ• ๊นŒ์š”?

๊ทธ๋Ÿฌํ•œ ๋งค๊ฐœ ๋ณ€์ˆ˜์˜ ์˜๋ฏธ๋ฅผ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ!

@ fd0 ๋ฐฑ์—…์ด --timeout ๊ฐ’ ๋‚ด์— ์™„๋ฃŒ๋˜์ง€ ์•Š์œผ๋ฉด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ถˆ์™„์ „ํ•˜๊ฑฐ๋‚˜ ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ๋ฐฑ์—…์ด๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ restic์˜ ์ ์ง„์  ๋””์ž์ธ์ด๋ฏ€๋กœ ์‹ค์ œ๋กœ ํฐ ๋ฌธ์ œ๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ๋‹ค์Œ์— ๋ฐฑ์—…์ด ํ˜ธ์ถœ๋˜๋ฉด ์ค‘๋‹จ ๋œ ์ง€์ ๋ถ€ํ„ฐ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

์ฆ‰, ๋งค์‹œ๊ฐ„ ์‹คํ–‰๋˜๋„๋ก ์˜ˆ์•ฝ ๋œ ํฌ๋ก  ์ž‘์—…์ด ์žˆ๊ณ  --timeout 50m ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ restic์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. 50 ๋ถ„ ์ด์ƒ ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ ๋ฐฑ์—…์„ ์ค‘๋‹จ / ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ 10 ๋ถ„ ํ›„ ํฌ๋ก  ์ž‘์—…์ด ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ณ  ์ค‘๋‹จ ๋œ ์ง€์ ์—์„œ ๋‹ค์‹œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒํ•˜๋ฉด ๋™์ผํ•œ ๋ฐฑ์—…์˜ ์—ฌ๋Ÿฌ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์„ค๋ช… ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ข‹์€ ์ƒ๊ฐ์ด ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ์ง€ ๋ชปํ•˜๋Š” ์‚ฌ์ด ๋ฐฑ์—… ์œ„์น˜๊ฐ€ ๋Š๋ ค์„œ (๋„คํŠธ์›Œํฌ์˜ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋น„ํŠธ ํ† ๋ ŒํŠธ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์žŠ์–ด ๋ฒ„๋ ค ์—…์ŠคํŠธ๋ฆผ ๋Œ€์—ญํญ์ด ์ตœ๋Œ€๊ฐ€ ๋จ) ๋ฐฑ์—…์ด ์™„๋ฃŒ๋˜์ง€ ์•Š๊ณ  ์ค‘๋‹จ๋˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ณ  ๋‹ค์‹œ ์ค‘๋‹จ๋˜๋Š” ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ๋ฉ๋‹ˆ๊นŒ? . ๊ทธ๋Ÿฌ๋ฉด ์ „์ฒด ์ž‘์—… ๋ฐฑ์—…์œผ๋กœ ๋๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ง€์†์ ์œผ๋กœ ์ถ”๊ฐ€๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ ํŠธ๋ฆฌ๋ฅผ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. restic์˜ ๋‹จ์ผ ์‹คํ–‰์€ ๊ฒฐ๊ตญ ์™„๋ฃŒ๋˜์ง€๋งŒ (๊ทธ๋ ‡๊ฒŒ ์„ค๊ณ„๋จ) ์‹คํ–‰ ์‚ฌ์ด์— ๋„ˆ๋ฌด ๋งŽ์€ ์ƒˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด restic์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ฉด ์™„๋ฃŒ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ํ‘œ์ค€ ์œ ํ‹ธ๋ฆฌํ‹ฐ timeout (coreutils์—์„œ)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  timeout 40m restic backup [...] ์‹คํ–‰ํ•˜์—ฌ์ด ๋™์ž‘์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ์ด ์˜ต์…˜์„ restic์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ์ข‹์€ ์ƒ๊ฐ์ด ์•„๋‹™๋‹ˆ๋‹ค.

ํŒŒํ‹ฐ์— ๋Šฆ์—ˆ์ง€๋งŒ ๋‘ ๋ฒˆ์งธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ฒซ ๋ฒˆ์งธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์™„๋ฃŒ ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋„๋กํ•˜๋Š” ์ž ๊ธˆ ํŒŒ์ผ์ด์žˆ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?

@ Karl-Gustav๋Š” ์•ฝ๊ฐ„์˜ ์Šคํฌ๋ฆฝํŒ…์œผ๋กœ์ด๋ฅผ ๋‹ฌ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://stackoverflow.com/a/1985512/244009

๊ทธ๊ฒƒ์€ ๋‚ด ์ž๋ฌผ์‡ ๋ณด๋‹ค ์กฐ๊ธˆ ๋” ๋ฐœ์ „ํ–ˆ์Šต๋‹ˆ๋‹ค .-) ์ €๋Š” if file {wait 5sec and check again}

ํ† ๋ก ์— ์กฐ๊ธˆ ๋Šฆ์—ˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์—ฌ๊ธฐ์—์„œ ์ฐพ์„ ์ˆ˜์žˆ๋Š” ์‹œ์Šคํ…œ ๋‹จ์œ„๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
์ด๊ฒƒ๋“ค์€ ๋‚ด restic ๊ตฌ์„ฑ ํŒŒ์ผ์ด๋ฉฐ ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์œ ์šฉ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”. restic์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—…์„ ์˜ˆ์•ฝํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ฝ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ anacron์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ๋ฅผ ๋“ค์–ด ์ฃผ๋‹น 2 ์ผ Backblaze์— ๋ฐฑ์—…ํ•˜๋„๋ก ์˜ˆ์•ฝํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์š”์ ์€ ํ™”์š”์ผ๊ณผ ๊ธˆ์š”์ผ ์˜คํ›„ 12์‹œ์— anacron์œผ๋กœ ๋ฐฑ์—…์„ ์˜ˆ์•ฝํ•˜๊ณ  ๋žฉํ†ฑ์„ ํ™”์š”์ผ์— ๋„๊ณ  ๊ธˆ์š”์ผ ์˜ค์ „ 11์‹œ 59 ๋ถ„๊นŒ์ง€ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์ง€ ์•Š์œผ๋ฉด ์–ด๋–ป๊ฒŒ๋ฉ๋‹ˆ๊นŒ? AFAIK (๊ทธ๋ฆฌ๊ณ  ๋‚ด๊ฐ€ ํ‹€๋ฆฌ์ง€ ์•Š์•˜๋‹ค๋ฉด) anacron์€ ํ™”์š”์ผ์— ๋†“์นœ ์ผ์„ ์‹œ์ž‘ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. 1 ๋ถ„ ํ›„ (์ฒซ ๋ฒˆ์งธ restic ์ธ์Šคํ„ด์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ) ๋‘ ๋ฒˆ์งธ ๋ฐฑ์—…์„ ์‹คํ–‰ํ•˜์—ฌ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•ด 2 ๊ฐœ์˜ ๋™์‹œ ๋ฐฑ์—…์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๊นŒ?

์•„๋‹ˆ๋ฉด ๋‘ ๋ฒˆ์งธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์ข…๋ฅ˜์˜ / tmp ์ž ๊ธˆ ํŒŒ์ผ์ž…๋‹ˆ๊นŒ?
๋ฐฑ์—…์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์˜ˆ์•ฝํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ? ๊ณ ๋งˆ์›Œ :)

@gerardbosch ์•ˆ๋…•ํ•˜์„ธ์š”! ์ด ์งˆ๋ฌธ์€ ํฌ๋Ÿผ์— ๋” ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์— ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. :)

์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€ restic์„ ์‹คํ–‰ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.์ด ์ž‘์—…์˜ ์ผ๋ถ€๋กœ ์‹คํ–‰ ํŒŒ์ผ (์˜ˆ : restic ํ”„๋กœ์„ธ์Šค์˜ PID๋ฅผ ํฌํ•จํ•˜๋Š” /var/run/restic.pid )์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. restic์ด ์ด๋ฏธ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

๋‘ ๊ฐœ์˜ ๋™์‹œ ๋ฐฑ์—…์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ์–ด๋–ค ์‹ ์œผ๋กœ๋“  harm ๊ฐ€ ์•„๋‹ˆ์ง€๋งŒ ๋™์ผํ•œ ํŒŒ์ผ๊ณผ ํŠน์ • ์‹œ์ ์„ ์–ด๋Š ์ •๋„ ํฌํ•จํ•œ๋‹ค๋ฉด ๋‹น์—ฐํžˆ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

anacron์ด ๋ˆ„๋ฝ ๋œ ๋ฐฑ์—… ์‹คํ–‰์„ ๋”ฐ๋ผ ์žก์œผ๋ ค๊ณ ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ๋ฌธ์„œ์— ๋‚˜์™€ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. macOS๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๊ณ  ์˜ˆ์•ฝ์— launchd ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ทธ๋ ‡๊ฒŒ ํ•  ๊ฒƒ์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด Google ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ์—ฌ๊ธฐ์— ๋„์ฐฉํ•˜๋Š” ๊ฒฝ์šฐ ์ฐธ๊ณ  :

cron ์ž‘์—… ๋Œ€์‹  systemd ์„œ๋น„์Šค ๋ฐ ์‹œ๊ฐ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผ์ •์— ๋”ฐ๋ผ ๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐฑ์—… ์‹คํŒจ์‹œ ์ด๋ฉ”์ผ ์•Œ๋ฆผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

https://github.com/erikw/restic-systemd-automatic-backup

@erikw ํ™˜์ƒ์ ์ธ ์ผ์ • ์Šคํฌ๋ฆฝํŠธ,
๋ช‡ ๊ฐ€์ง€ ์งˆ๋ฌธ :

  • cron ๋˜๋Š” anacron๋ณด๋‹ค systemd ํƒ€์ด๋จธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์š” ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
  • systemd ์Šคํฌ๋ฆฝํŠธ / ์„ค์ •์„ / etc ๋Œ€์‹  homedir์— ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
  • anacron ํƒญ์ด $ HOME ์–ด๋”˜๊ฐ€์—์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋žฉํ†ฑ์˜ homedir์„ ๋ฐฑ์—… ํ•  ๊ณ„ํš์ด๋ฏ€๋กœ ์žฌํ•ด ๋ณต๊ตฌ์‹œ ๋™์ผํ•œ ์Šค์ผ€์ค„๋Ÿฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฐฑ์—…ํ•˜๋ฉด ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์˜ˆ์•ฝ ๋œ ๋ฐฑ์—… ์‹œ์Šคํ…œ (์˜ˆ : ์žฌํ•ด ํ›„ ์ „์ฒด ๋ฐฑ์—… ๋ณต์›)์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ด์ „ ์ผ์ •์œผ๋กœ ๋ฐฑ์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ด๋ฏธ ๊ตฌ์„ฑ๋œ ์ƒˆ ์‚ฌ์šฉ์ž ๊ณ„์ •).

๋ฟก ๋นต๋€จ

  • systemd ์‹œ์Šคํ…œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด, cron ๋ฐ๋ชฌ์„ ์„ค์น˜ํ•  ํ•„์š”์—†์ด ๊ธฐ๋ณธ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ข‹์Šต๋‹ˆ๋‹ค. ์‹คํŒจํ•œ ์ž‘์—…์˜ ์ƒํƒœ๋ฅผ ์ž˜ ์ œ์–ด ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ์— ์ž‘์—…์ด ์–ธ์ œ ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์งง์€ ์†Œ๊ฐœ๋Š” ์•„์น˜ ์œ„ํ‚ค ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ์ง์ ‘ ๊ฐ€์ง€๊ณ  ๋…ธ๋Š” ๊ฒƒ์ด ๋‚ด๊ฐ€ ๋งํ•  ์ˆ˜์žˆ๋Š” ๊ฐ€์žฅ ์žฌ๋ฏธ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

  • ์˜ˆ, ๋กœ์ปฌ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‹œ์Šคํ…œ ํƒ€์ด๋จธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ ํƒ€์ด๋จธ ๋ฐ ํ•ด๋‹น ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋‚ด dotfile ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ํ•ต์‹ฌ์€ ์‹œ์Šคํ…œ ํƒ€์ด๋จธ ๋Œ€์‹  --user ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ํƒ€์ด๋จธ๋ฅผ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹๊ฒƒ์ž…๋‹ˆ๋‹ค.

$ systemctl --user list-timers

์•„์ง ์—ฌ๊ธฐ์— ์–ธ๊ธ‰๋˜์ง€ ์•Š์•˜ ์œผ๋ฏ€๋กœ Backupninja ๋Š” ์˜ˆ์•ฝ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. Restic ์ง€์›์ด ๋ณ‘ํ•ฉ ์š”์ฒญ ์— ์ถ”๊ฐ€๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ์ปค๋ฐ‹๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ชจ๋“  ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์ด ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

@colans Backupninja๋Š” ๊ต‰์žฅํ•ฉ๋‹ˆ๋‹ค. restic๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค! ์ด ์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

restic backup ๋‹ค์Œ์— restic forget ๋ฐ restic prune ์ด (๊ฐ€) ์ผ๋ฐ˜์ ์ธ ์›Œํฌ ํ”Œ๋กœ์ด๋ฉฐ ์ •๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ์–ด์จŒ๋“ ์ด ์•„์ด๋””์–ด๋ฅผ ์ถ”์  ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ€๋Šฅํ•œ ๋ณ‘๋ ฌ ์ž‘์—…์„ ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š๊ณ  ๋งค์ผ ์˜ˆ์•ฝ ๋œ ์ž‘์—… / ํฌ๋ก  ์ž‘์—…์„ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ restic backup -> restic forget -> restic prune ? ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค ๋งŒ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ๋” ๋งŽ์€ ์˜ค๋ฒ„ ํ—ค๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ๋ฌธ์„œํ™” ์ž‘์—…์œผ๋กœ ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ๋ช…ํ™•์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋งค๋‰ด์–ผ์— "์Šค์ผ€์ค„๋ง"์„น์…˜์„ ์ถ”๊ฐ€ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์•ฝ์€ Restic์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ์™ธ๋ถ€ ๋„๊ตฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ๊ฐ?

๋‹ค์‹œ ์—ฌ๋Š” ๋˜ ๋‹ค๋ฅธ ์ œ์•ˆ. restic์ด ๋ฐฑ์—… ์˜ˆ์•ฝ / ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ๋ฌธ์„œ๋Š”์ด๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ๋ฐฑ์—… ๋„๊ตฌ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๋ฐฉ๋ฒ•์ด๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ์ž‘์—…์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@SigmaX ์˜ˆ์•ฝ ๋ฐฉ๋ฒ•์€ ์ „์ ์œผ๋กœ ์›ํ•˜๋Š” OS์™€ ์†Œํ”„ํŠธ์›จ์–ด์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ์™€ ๊ฐ™์€ ์ œ์•ˆ์ด ๋ถˆ์•ˆํ•œ ์šฐ๋ ค์— ๋Œ€ํ•œ ๋ฌธ์„œ ์™ธ๋ถ€์— ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ๋ˆ„๊ตฐ๊ฐ€์˜ ๋ธ”๋กœ๊ทธ ๋˜๋Š” ํฌ๋Ÿผ์˜ ๋ ˆ์‹œํ”ผ ์„น์…˜์—์„œ ์œ ์šฉํ•œ ๊ธฐ์‚ฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ restic doc ์›น ์‚ฌ์ดํŠธ https://restic.readthedocs.io/en/latest/080_examples.html ์˜ ์˜ˆ์ œ ์„น์…˜์— ๋Œ€ํ•œ ํ›„๋ณด๊ฐ€ ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ์ตœ์†Œ๊ฐ€ ํ•„์š”ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ž‘์„ฑํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์—์„œ์ด๋ฅผ ์˜ˆ์•ฝํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ง€์นจ์„ ์œ ์ง€ํ•˜๊ณ  ์‹ถ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค (๋งค์šฐ ๋ณต์žกํ•œ ์ฃผ์ œ์ด๋ฏ€๋กœ). ์ฆ‰, ์ธํ„ฐ๋„ท์— ์ด๋ฏธ ์—ฌ๋Ÿฌ ๊ธฐ์‚ฌ์™€ ์˜ˆ์ œ (์˜ˆ : cron ๋ฐ systemd ์‚ฌ์šฉ)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์„œ ์›น ์‚ฌ์ดํŠธ์— ํ•„์š”ํ•œ ๊ฒƒ์ด ์žˆ๋Š”์ง€ ์™„์ „ํžˆ ํ™•์‹ ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์„œ ์›น ์‚ฌ์ดํŠธ์— ํ•„์š”ํ•œ ๊ฒƒ์ด ์žˆ๋Š”์ง€ ์™„์ „ํžˆ ํ™•์‹ ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

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

์ตœ์†Œํ•œ ๋ฌธ์„œ ์„น์…˜์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ๊ณณ์„ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•จ์„ ๋‚˜ํƒ€๋‚ด๊ฑฐ๋‚˜ restic์œผ๋กœ ์ผ์ƒ์ ์ธ ๋ฐฑ์—…์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๋„๊ตฌ๋ฅผ ์ฐพ์•„์•ผ ํ•จ์„ ํ‘œ์‹œํ•จ์œผ๋กœ์จ ์‚ฌ์šฉ์ž์˜ ์‹œ๊ฐ„์„ ์ ˆ์•ฝ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์•ฝ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ €๋ช…ํ•œ ๋ฌธ์„œ๊ฐ€์—†๋Š” ๋ฐฑ์—… ๋„๊ตฌ๊ฐ€ ์žˆ์œผ๋ฉด ๋ฐ”ํ€ด๊ฐ€์—†๋Š” ์ž๋™์ฐจ๋ฅผ ํŒ๋งคํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

๋ณ„๋กœ. ์šฐ๋ฆฌ๊ฐ€ "ํŒ๋งค"ํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์—‡์„ ๋ฐฑ์—…ํ•ด์•ผํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ๊ณ  ๋ฐฑ์—…ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ์–ผ๋งˆ๋‚˜ ์ž์ฃผ ๊ทธ๋ ‡๊ฒŒํ•˜๊ณ  ์‹ถ์€์ง€๋Š” ๋ณ„๊ฐœ์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

๋ฌธ์„œ์—์„œ ํŠน์ • ์ฃผ์ œ๋ฅผ ์ฐพ์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๋Š” ๋‹จ์ˆœํžˆ DDG / Google์„ ์‚ฌ์šฉํ•˜๊ณ  1 ~ 2 ๋ถ„ ์ด๋‚ด์— ๋‹ต๋ณ€์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์ด ๋‹ค์–‘ํ•œ ์Šค์ผ€์ค„๋ง ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜์ง€ ์•Š๋”๋ผ๋„ ๋ฌธ์„œ์— ์–ด๋–ค ์ข…๋ฅ˜์˜ ํฌ์ธํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ "ํŒ๋งค"ํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์—‡์„ ๋ฐฑ์—…ํ•ด์•ผํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ๊ณ  ๋ฐฑ์—…ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ์–ผ๋งˆ๋‚˜ ์ž์ฃผ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ ค๋Š”์ง€๋Š” ๋ณ„๊ฐœ์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. :)

๊ทธ๋ฆฌ๊ณ  "์ด๊ฒƒ์€ DIY ํ‚คํŠธ์ž…๋‹ˆ๋‹ค --- ์ž์‹ ์˜ ๋ฐ”ํ€ด๋ฅผ ์ฐพ์œผ์‹ญ์‹œ์˜ค!"๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์€ ์™„๋ฒฝํ•˜๊ฒŒ ํ•ฉ๋ฒ•์ ์ž…๋‹ˆ๋‹ค.

๋ฌธ์„œ์—์„œ ํŠน์ • ์ฃผ์ œ๋ฅผ ์ฐพ์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๋Š” ๋‹จ์ˆœํžˆ DDG / Google์„ ์‚ฌ์šฉํ•˜๊ณ  1 ~ 2 ๋ถ„ ์ด๋‚ด์— ๋‹ต๋ณ€์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์‹ค, "restic backup schedule"์— ๋Œ€ํ•œ ์ธํ„ฐ๋„ท ๊ฒ€์ƒ‰์€ ์ €๋ฅผ ์ฒซ ๋ฒˆ์งธ ๊ฒฝ๊ธฐ๋กœ ๋ฐ๋ ค ์™”์Šต๋‹ˆ๋‹ค. : smile :

2122๋Š” ๋ช‡ ๊ฐ€์ง€ ์ƒ˜ํ”Œ ์‹œ์Šคํ…œ ํƒ€์ด๋จธ ๋ฐ ์Šค์ผ€์ค„๋ง์— ๊ด€ํ•œ ๊ธฐํƒ€ ๋…ผ์˜๋ฅผ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ "์ตœ์†Œ ์œ ์ง€ ๊ด€๋ฆฌ"์ ‘๊ทผ ๋ฐฉ์‹์ด ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ ๋กœ๊น…๊ณผ ๋™์‹œ์— ์—ฌ๋Ÿฌ ์‹คํ–‰์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํžŒํŠธ๋ฅผ ํฌํ•จ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ถœ๋ ฅ ๋กœ๊น…๊ณผ ๋™์‹œ์— ์—ฌ๋Ÿฌ ์‹คํ–‰ ๋ฐฉ์ง€์— ๋Œ€ํ•œ ํžŒํŠธ๋ฅผ ํฌํ•จ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ๊ทธ ์ƒ๊ฐ์„ ์ข‹์•„ํ•œ๋‹ค. ๋‚˜๋Š” ์ด๋ฒˆ ์ฃผ ํ›„๋ฐ˜์— ์ดˆ์•ˆ์„ ๋งŒ๋“ค ๊ฒƒ์ด๋ฉฐ, ๋Œ€๋ถ€๋ถ„ ๋ฌธ์„œ์˜ ๋ฐฑ์—… ์„น์…˜ ์•„๋ž˜์— ์ž‘์€ "ํฌ์ธํ„ฐ"์„น์…˜์„ ๋ฐฐ์น˜ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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