Aws-cli: s3 ๋™๊ธฐํ™”๋Š” ๋ฒ„ํ‚ท ๊ฐ„์— ๊ถŒํ•œ์„ ์œ ์ง€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2014๋…„ 08์›” 27์ผ  ยท  34์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: aws/aws-cli

๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ„ํ‚ท ๊ฐ„์— ๋™๊ธฐํ™”ํ•  ๋•Œ:

AWS s3 ๋™๊ธฐํ™” s3://bucket1 s3://bucket2

"๋™๊ธฐํ™”"์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ์ ์œผ๋กœ bucket2์˜ ํŒŒ์ผ์ด bucket1์˜ ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ๊ถŒํ•œ์„ ๊ฐ€์งˆ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋Œ€์‹  ๊ธฐ๋ณธ ๊ถŒํ•œ๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.

feature-request s3 s3copy-extra-data s3sync

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

๊ถŒํ•œ์ด ๋™๊ธฐํ™”๋˜์ง€ ์•Š์•˜์Œ์„ ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ ธ๊ธฐ ๋•Œ๋ฌธ์— ๊ถŒํ•œ์ด ๋™๊ธฐํ™”๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋งŒ ๋‚˜์ค‘์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ์–ธ๊ธ‰ํ•˜๊ธฐ ์œ„ํ•ด s3์—์„œ s3 sync๋กœ์˜ ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ํ•œ๋ฒˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

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

๋ชจ๋“  ํŒŒ์ผ์— ๋™์ผํ•œ ๊ถŒํ•œ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ง€๊ธˆ์€ sync ์™€ ํ•จ๊ป˜ --acl sync ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ๊ถŒํ•œ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ˜„์žฌ ๋‹ค๋ฅธ ์„ ํƒ์  ์ธ์ˆ˜ ์—†์ด sync ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ๊ถŒํ•œ์„ ์ฐพ์ง€ ์•Š๊ณ  ๊ฐœ์ฒด๊ฐ€ ์ „์†ก๋  ๋•Œ ์›๋ž˜ ๊ฐœ์ฒด์™€ ๋™์ผํ•œ ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€์ ์ธ ์ธ์ˆ˜/๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•„๋‹ˆ์š” - ๋ชจ๋“  ํŒŒ์ผ์— ๋™์ผํ•œ ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ --acl ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์€ ํŠนํžˆ ๊ถŒํ•œ์ด ์„œ๋กœ ๋‹ค๋ฅธ ์ˆ˜์ฒœ ๊ฐœ์˜ ํŒŒ์ผ์ด ์žˆ๊ณ  ๋‹จ์ˆœํ•œ ํŒŒ์ผ ๋ณต์‚ฌ๋ณธ์ด ์•„๋‹Œ ๋ฒ„ํ‚ท ๊ฐ„์— ์ง„์ •ํ•œ ๋™๊ธฐํ™”๋ฅผ ์›ํ•  ๋•Œ ๋™๊ธฐํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋ฐ˜๋“œ์‹œ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ๋ณ„๋กœ ๊ถŒํ•œ์„ ์–ป๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ž˜์„œ ์ด๊ฒƒ์„ ์ถฉ๋ถ„ํžˆ ์‰ฝ๊ฒŒ ์Šคํฌ๋ฆฝํŒ…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋„์›€์„ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ, ๊ฐ ๊ฐœ์ฒด์— ๋Œ€ํ•ด aws s3api get-object-acl ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด. ๋‹น์‹ ์€ CL์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๋ช…๋ น์— ๋Œ€ํ•œ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.
http://docs.aws.amazon.com/cli/latest/reference/s3api/get-object-acl.html

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ธฐ๋Šฅ์€ ๋™๊ธฐํ™”์—์„œ ์—ฌ์ „ํžˆ ํฌ๊ฒŒ ๊ฐ์‚ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์„ค์ •์ด ์•„๋‹Œ ๊ฒฝ์šฐ --preserve-s3-acl ํ”Œ๋ž˜๊ทธ๋งŒ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ดœ์ฐฎ์•„์š”. ๊ธฐ๋Šฅ์„ ๊ณ ๋ คํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹œํ–‰ํ•˜์ง€ ์•Š์€ ์ด์œ ๋Š” ์ˆ˜์ˆ  ์ž์ฒด์— ๋น„์šฉ์ด ๋งŽ์ด ๋“ค ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. s3 ๋ฒ„ํ‚ท์˜ ๊ฐ์ฒด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ListObjects ํ˜ธ์ถœํ•˜์ง€๋งŒ ๊ฐ ๊ฐ์ฒด์— ๋Œ€ํ•œ acl์„ ๋ฐ˜ํ™˜ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ฐจ๋ก€๋กœ ๋Œ์•„๊ฐ€์„œ ๋‚˜์—ด๋œ ๋ชจ๋“  ๊ฐœ์ฒด์— ๋Œ€ํ•ด GetObjectAcl ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋ฉฐ ๋ฒ„ํ‚ท์— ์ˆ˜์ฒœ ๊ฐœ์˜ ํ•ญ๋ชฉ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ถŒํ•œ์ด ๋™๊ธฐํ™”๋˜์ง€ ์•Š์•˜์Œ์„ ๋ฐœ๊ฒฌํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ ธ๊ธฐ ๋•Œ๋ฌธ์— ๊ถŒํ•œ์ด ๋™๊ธฐํ™”๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋งŒ ๋‚˜์ค‘์— ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ์–ธ๊ธ‰ํ•˜๊ธฐ ์œ„ํ•ด s3์—์„œ s3 sync๋กœ์˜ ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ํ•œ๋ฒˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

์ด๊ฒƒ์— ๋Œ€ํ•œ ์–ด๋–ค ์—…๋ฐ์ดํŠธ?

๋ช‡ ์ฃผ ์ „์— ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ’€ ๋ฆฌํ€˜์ŠคํŠธ(#1535)๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค( copy ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ S3-to-S3 ์ „์†ก). ํฌํ•จ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š”, ์˜ค๋ž˜๋œ ์Šค๋ ˆ๋“œ๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ๊ถŒํ•œ ์œ ํ˜•๋ณ„๋กœ ํ•˜๋‚˜์˜ ๋™๊ธฐํ™”๋ฅผ ํ†ตํ•ด ์ด๊ฒƒ์„ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๋ก : --exclude ๋ฐ --include๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‚ค ์ด๋ฆ„์œผ๋กœ ๋™๊ธฐํ™”๋ฅผ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐ ๋™๊ธฐํ™”์˜ ACL์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค... ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๊ถŒํ•œ์„ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š” ํ‚ค ํŒจํ„ด์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. ๋‹ค๋ฅธ ACL ์˜ต์…˜๊ณผ ํ•จ๊ป˜ ์—ฌ๋Ÿฌ ๋ฒˆ sync ๋ช…๋ น์„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด์ƒ์ ์ด์ง€๋Š” ์•Š์ง€๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!

AWS ํŒ€์˜ ์˜๊ฒฌ์ด ์žˆ์œผ์‹ญ๋‹ˆ๊นŒ?

๋ฐฑ์—…์šฉ์œผ๋กœ git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ S3๋กœ ํ‘ธ์‹œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์‹œ ๋™๊ธฐํ™”ํ•˜๋ฉด ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๊ถŒํ•œ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ๋ชจ๋“  ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ bin ํŒŒ์ผ์€ ๋” ์ด์ƒ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์œผ๋ฉฐ git status๋Š” ์ด์— ๋Œ€ํ•ด ๋น„๋ช…์„ ์ง€๋ฆ…๋‹ˆ๋‹ค.

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1, ์˜ˆ, ๋งˆ์นจํ‘œ๊ฐ€ ์žˆ๋Š” ๋ฒ„ํ‚ท ์ด๋ฆ„์ด ์žˆ์—ˆ๊ณ  ํด๋ผ์šฐ๋“œ ํ”„๋ŸฐํŠธ๋ฅผ ํ†ตํ•ด https์™€ ํ˜ธํ™˜๋˜๋„๋ก ๋ณ€๊ฒฝํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ช…๋ช…๋œ ์ƒˆ ๋ฒ„ํ‚ท์— ๋™๊ธฐํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ถŒํ•œ์— ๋Œ€ํ•ด ์ฝ์–ด๋ณด์„ธ์š”. ๊ฐœ์ฒด ์ˆ˜์ค€ ๊ถŒํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„ํ‚ท์˜ ๋ชจ๋“  ๊ฐ์ฒด ์ˆ˜์ค€ ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ช…๋ น์ด ์—†์Šต๋‹ˆ๋‹ค. ์ง„ํ–‰ ๋ฐฉ๋ฒ•์ด ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. aws GUI๋ฅผ ํ†ตํ•œ ๊ถŒํ•œ์€ ๋‘ ๋ฒ„ํ‚ท์—์„œ ์‹ค์ œ๋กœ ๋™์ผํ•˜๊ฒŒ ๋ณด์ด์ง€๋งŒ cli๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก์„ ์กฐํšŒํ•  ๋•Œ ์›๋ณธ ๋ฒ„ํ‚ท์— ๋ณต์‚ฌ๋˜์ง€ ์•Š์€ ์ถ”๊ฐ€ ํ”ผ๋ถ€์—ฌ์ž๊ฐ€ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
{
"์ˆ˜์—ฌ์ž": {
"์œ ํ˜•": "๊ทธ๋ฃน",
"URI": " http://acs.amazonaws.com/groups/global/AllUsers "
},
"๊ถŒํ•œ": "์ฝ๊ธฐ"
}

์•ˆ๋…•ํ•˜์„ธ์š”!

AWS CLI์™€ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ ์š”์ฒญ์„ ์œ„ํ•ด UserVoice ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ณผ์ •์—์„œ GitHub์—์„œ ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฒ„๊ทธ ๋ณด๊ณ ์„œ๋กœ ๋Œ€ํ™”๋ฅผ ํฌ์„ํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐ€์žฅ ๊ด€์‹ฌ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๋” ์‰ฝ๊ฒŒ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ง€์›์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น ๋ฅธ UserVoice ์ž…๋ฌธ์„œ(์•„์ง ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ): ์•„์ด๋””์–ด๊ฐ€ ๊ฒŒ์‹œ๋œ ํ›„ ์‚ฌ๋žŒ๋“ค์€ ์•„์ด๋””์–ด์— ํˆฌํ‘œํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ œํ’ˆ ํŒ€์€ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์ œ์•ˆ์— ์ง์ ‘ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

GitHub์—์„œ ๊ธฐ์กด ๊ธฐ๋Šฅ ์š”์ฒญ์„ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ด ๋ฌธ์ œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์„ธ์š”!

๊ทธ๋ฆฌ๊ณ  ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ด ๋ฌธ์ œ๋Š” ํ›„์†์„ ์œ„ํ•ด GitHub์— ๊ณ„์† ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์›๋ณธ ๊ฒŒ์‹œ๋ฌผ์„ UserVoice๋กœ ํ…์ŠคํŠธ ์ „์šฉ์œผ๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— GitHub ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์˜๊ฒฌ๊ณผ ํ† ๋ก ์„ ๊ณ„์† ์—ผ๋‘์— ๋‘˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

GitHub๋Š” ๋ฒ„๊ทธ ๋ณด๊ณ ๋ฅผ ์œ„ํ•œ ์ฑ„๋„๋กœ ๋‚จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‹ค์‹œ ํ•œ ๋ฒˆ, ์ด ๋ฌธ์ œ๋Š” ์ด์ œ https://aws.uservoice.com/forums/598381-aws-command-line-interface ์—์„œ ์ œ๋ชฉ์„ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

-AWS SDK ๋ฐ ๋„๊ตฌ ํŒ€

์ด ํ•ญ๋ชฉ์€ ํŠนํžˆ UserVoice( https://aws.uservoice.com/forums/598381-aws-command-line-interface/suggestions/33168325-s3-sync-does-not-preserve-permissions-across-) ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@ASayre - ์ด ํ† ๋ก ์„ ํ•˜๊ธฐ์— ์ž˜๋ชป๋œ ์žฅ์†Œ์ผ ์ˆ˜ ์žˆ์ง€๋งŒ Amazon์ด GitHub์™€ UserVoice์—์„œ AWS CLI์— ๋Œ€ํ•œ ํ† ๋ก ์„ ์–ด์ƒ‰ํ•˜๊ฒŒ ๋ถ„ํ• ํ•œ ์ด์œ ๋ฅผ ์ž์„ธํžˆ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๊ธฐ๋Šฅ ์š”์ฒญ์€ ์—ฌ๊ธฐ GitHub์—์„œ ์ ์ ˆํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ์š”์ฒญ์œผ๋กœ๋งŒ ํ•„ํ„ฐ๋งํ•˜๊ณ  ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์€ ๋น„๊ต์  ์‰ฝ์Šต๋‹ˆ๋‹ค.

screen shot 2018-03-24 at 12 34 47 am

GitHub๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ ์กฐ๊ฐ์„ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๋ฌธ์ œ(์˜ˆ: #1060, ์ด์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ)๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, AWS CLI ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜์˜ ์ƒ๋‹น ๋ถ€๋ถ„์ด ์ด๋ฏธ ์—ฌ๊ธฐ GitHub์—์„œ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ปค๋ฎค๋‹ˆํ‹ฐ ํ”ผ๋“œ๋ฐฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ GitHub ๋ฌธ์ œ์— ๊ธฐ๋Šฅ ์š”์ฒญ์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ตฌ๋“ ์ง€์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ ์ ˆํ•œ ์†”๋ฃจ์…˜์„ ์ƒ๊ฐํ•ด ๋ƒˆ์Šต๋‹ˆ๊นŒ? ๋งŽ์ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ.

์œ„์˜ ๋‹ต๋ณ€์€ *๋ฅผ ๊ณต๊ฐœ์ ์œผ๋กœ ์ฝ๋„๋ก ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ์ด ์œ ์ง€๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ง„ํ–‰ ์ƒํ™ฉ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ๋˜ํ•œ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ sync --include/exclude๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ด ์ผ์„ ํ•˜๋Š” ๋ฐ ๋ˆ์„ ์ฃผ๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

4๋…„์ด ์ง€๋‚ฌ์ง€๋งŒ ์ด ์•…๋ชฝ์€ ๊ณ„์†๋˜๊ณ  ์žˆ๋‹ค. ์ฒœ๋งŒ ๊ฐœ ์ด์ƒ์˜ ํŒŒ์ผ์ด ์žˆ์œผ๋ฉฐ ๋ณต์‚ฌํ•˜๋Š” ๋™์•ˆ ๊ถŒํ•œ์ด ๋ชจ๋‘ ์†์‹ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ถŒํ•œ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ์ผ์ด ์–ด๋–ป๊ฒŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๊นŒ?

+1

์—ฌ๊ธฐ์— ์˜ค๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ์„ ์œ„ํ•ด ์ €๋Š” ์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•œ ๋ฒ„ํ‚ท์„ ๋‹ค๋ฅธ ๋ฒ„ํ‚ท์œผ๋กœ ๋ณต์‚ฌํ•˜๊ณ  ACL์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. https://github.com/cobbzilla/s3s3mirror/tree/2.1-stable

๋˜ํ•œ ํ›จ์”ฌ ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค.

์ €๋ฅผ ์œ„ํ•ด ํ˜„์žฌ ์ž‘์—… ํด๋”๋ฅผ ๋ฐฑ์—…ํ•˜๊ธฐ ์œ„ํ•ด s3๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” git repo๊ฐ€ โ€‹โ€‹ํฌํ•จ๋˜๋ฉฐ ๋ชจ๋“  ๊ถŒํ•œ ๋ณ€๊ฒฝ ํ›„์—๋„ ๋‚ด repo๊ฐ€ โ€‹โ€‹๊ณ„์† ๋†€๋ผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

git config --global --add alias.permission-reset '!git diff -p -R --no-color | grep -E "^(diff|(old|new) mode)" --color=never | git apply'

์—ฌ๊ธฐ์—์„œ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

https://stackoverflow.com/questions/2517339/how-to-recover-the-file-permissions-to-what-git-thinks-the-file-should-be

์•ˆ๋…•ํ•˜์„ธ์š”,

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

ํ•œ ๋ฒ„ํ‚ท์—์„œ ๋‹ค๋ฅธ ๋ฒ„ํ‚ท์œผ๋กœ ๊ฐ์ฒด๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  ์ด์— ๋Œ€ํ•œ ACL๋„ ์„ค์ •ํ•˜๋Š” ์ด ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํŒŒ์ด์ฌ์œผ๋กœ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

์ž์œ ๋กญ๊ฒŒ ์‚ดํŽด๋ณด์„ธ์š”:
https://github.com/terminator9999/aws-s3-bucket-copy/

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