sync
๋ช
๋ น๊ณผ ๊ด๋ จํ์ฌ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ํนํ S3( s3 -> local
)์์ ๋๊ธฐํํ๋ ๊ฒฝ์ฐ์ ๊ทธ๋ ์ต๋๋ค. ์๋ ค์ง ๋ฌธ์ ์ ๊ฐ๋ฅํ ์ต์
์ ๋ํ ๋ช ๊ฐ์ง ์ ์์ ์์ฝํ๊ณ ์ฌ๋๋ค์๊ฒ ํผ๋๋ฐฑ์ ๊ณต์ ํ ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํ๊ณ ์ ํฉ๋๋ค.
๋๊ธฐํ ๋์์ ํจ์จ์ ์ธ cp
. ์๋ณธ์์ ๋ค๋ฅธ ๋์์ผ๋ก ํ์ผ๋ง ๋ณต์ฌํฉ๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ ค๋ฉด s3/local์ ์๋ ํ์ผ์ด ๋ค๋ฅธ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ ์ ์์ด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด ๋ ๊ฐ์ง ๊ฐ์ ์ฌ์ฉํฉ๋๋ค.
stat
์์ ๋ก์ปฌ๋ก ํ์ผ ๋ฐ ListObjects
์๋ต์ Size
ํค์์)ListObjects
์๋ต์ LastModified
ํค)์ ์ณ๋๊ณ , ์ฐ๋ฆฌ๋ ๋จ์ผ ํธ์ถ์์ ์ต๋ 1000๊ฐ์ ๊ฐ์ฒด๊ฐ ๋ฐํ๋๊ธฐ ๋๋ฌธ์ ListObjects
์์
์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ListObjects
์๋ต์์ ๋ฐํ๋๋ ์ ๋ณด๊ฐ LastModified, ETag, StorageClass, Key, Owner, Size
์ ๋ณด๋ก ์ ํ๋จ์ ์๋ฏธํฉ๋๋ค.
์ด์ ์๊ฒฉ ๋ฐ ๋ก์ปฌ ํ์ผ ํ์ผ ํฌ๊ธฐ์ ๋ง์ง๋ง ์์ ์๊ฐ์ด ์ฃผ์ด์ง๋ฉด ํ์ผ์ด ๋ค๋ฅธ์ง ํ์ธํ๋ ค๊ณ ํฉ๋๋ค. ํ์ผ ํฌ๊ธฐ๋ ์ฝ์ต๋๋ค. ํ์ผ ํฌ๊ธฐ๊ฐ ๋ค๋ฅด๋ฉด ํ์ผ์ด ๋ค๋ฅด๋ค๋ ๊ฒ์ ์๊ณ ํ์ผ์ ๋๊ธฐํํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ง์ง๋ง ์์ ์๊ฐ์ด ๋ ํฅ๋ฏธ๋กญ์ต๋๋ค. ๋ก์ปฌ ํ์ผ์ mtime์ ์ง์ ํ์ mtime๋ ๋์ LastModified
์์ ์๊ฐ ListObjects
๊ฐ์ฒด๊ฐ ์
๋ก๋๋์์ ๋ ์ ๋ง์ด๋ค. ๋ฐ๋ผ์ ๋ค์ ์๋๋ฆฌ์ค๋ฅผ ์์ํด ๋ณด์ญ์์ค.
aws s3 sync local/ s3://bucket/
sleep 10
aws s3 sync s3://bucket local/
์ฒซ ๋ฒ์งธ ๋๊ธฐํ ๋ช
๋ น( local->s3
) ํ์ ๋ก์ปฌ ํ์ผ์ mtime์ 0์ด๊ณ s3์ ๋ด์ฉ์ LastModified ์๊ฐ์ด 10์ด ๋ฉ๋๋ค(์๋ ์คํ์
์ฌ์ฉ). s3์์ ๋ก์ปฌ๋ก ๋๊ธฐํํ๋ ๋ ๋ฒ์งธ aws s3 sync ๋ช
๋ น์ ์คํํ ๋ ๋จผ์ ํ์ผ ํฌ๊ธฐ ๊ฒ์ฌ๋ฅผ ์ํํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ํ์ผ ํฌ๊ธฐ๊ฐ ๋์ผํ๋ฏ๋ก ๋ง์ง๋ง์ผ๋ก ์์ ๋ ์๊ฐ ๊ฒ์ฌ๋ฅผ ํ์ธํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์๋ก ๋ค๋ฆ
๋๋ค(๋ก์ปฌ == 0, s3 == 10). ์๊ฒฉํ ๋๋ฑ ๋น๊ต๋ฅผ ์ํํ๋ ๊ฒฝ์ฐ ๋ง์ง๋ง ์์ ์๊ฐ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ํ์ผ์ s3์์ ๋ก์ปฌ๋ก ๋ถํ์ํ๊ฒ ๋๊ธฐํํ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ ํ์ผ ํฌ๊ธฐ๊ฐ ๋์ผํ๊ณ s3์ ๋ง์ง๋ง ์์ ์๊ฐ์ด ๋ก์ปฌ ํ์ผ๋ณด๋ค ํฌ๋ฉด(์ต์ ) ๋๊ธฐํ๋์ง ์๋๋ค๊ณ ๋งํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ํ์ฌ ๋์์
๋๋ค.
๊ทธ๋ฌ๋ ์๊ฒฉ ํ์ผ์ด ๋์ญ ์ธ(์ฝ์ ๋๋ ์ผ๋ถ ๋ค๋ฅธ SDK๋ฅผ ํตํด) ์
๋ฐ์ดํธ๋๊ณ ํฌ๊ธฐ๊ฐ ๋์ผํ๊ฒ ์ ์ง๋๋ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. aws s3 sync s3://bucket local/
์คํํ๋ฉด ์๊ฒฉ ํ์ผ์ ๋๊ธฐํํ๋ค๊ณ ๊ฐ์ ํ๋๋ผ๋ ๋๊ธฐํํ์ง ์์ต๋๋ค.
๋ค์์ ์ ์ฌ์ ์ธ ์๋ฃจ์ ์ ๋๋ค.
aws s3 sync local s3://bucket && aws s3 s3://bucket local
๊ฐ ๋ถํ์ํ๊ฒ ํ์ผ์ ๋๊ธฐํํ๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ผ์ ๋ค์ด๋ก๋ ํ ๋ ํ์ผ์ mtime์ LastModified ์๊ฐ๊ณผ ์ผ์นํ๋๋ก ์ค์ ํ๋ฏ๋ก aws s3 sync s3://bucket local
_again_ ์คํํ๋ฉด ํ์ผ์ด ๋๊ธฐํ๋์ง ์์ต๋๋ค.์ ๊ฐ ๋นผ๋จน์ ๋ค๋ฅธ ์ ์ฌ์ ์ธ ํด๊ฒฐ์ฑ ์ด ์๋ค๋ฉด ์๋ ค์ฃผ์ธ์.
์๋ฒ ์ ๊ณต ETag์ ์บ์๋ฅผ ์ ์ฅํ๋ ๋์ ํด๋ผ์ด์ธํธ ์ธก์์ ETag๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๊น? ๊ทธ๋ฌ๋ฉด md5 ๊ฒ์ฌ๋ฅผ ์ํํ๋ ๊ฒ๊ณผ ๊ฑฐ์ ๊ฐ์ง๋ง ListObjects ์๋ต์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ETag ์๊ณ ๋ฆฌ์ฆ์ด ์๋ฒ ์ธก ์ํ์ ์์กดํ์ง ์๋ ํโฆ
์ฐพ์ผ์ จ์ต๋๋ค :-)
-- ์ธ๋ธ
2014๋ 1์ 17์ผ 16:26์ Jeff Waugh < [email protected] [email protected] >์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์: https://forums.aws.amazon.com/thread.jspa?messageID=203510&state=hashArgs%23203510
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ Gi tHubhttps://github.com/aws/aws-cli/issues/599#issuecomment -32668382์์ ํ์ธํ์ธ์.
Amazon EU Societe a responsabilite limitee, 5 Rue Plaetis, L - 2338 Luxembourg, RCS Luxembourg n B 101818, Capital social: EUR 37.500. Autorisation d establissement en qualite de commercante n 104408.
์, ๋ฉํฐํํธ ์ ๋ก๋์ ๋ํ ETag๋ฅผ ์์ ์ ์ผ๋ก ๊ณ์ฐํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ํ๋ฅญํ ์๋ฃจ์ ์ด ๋ ๊ฒ์ ๋๋ค.
์๊ฐ ๋์์ ๋ํด ์ ํ๋๊ทธ(๋๋ 2๊ฐ)๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๊น? ์ต์
1์ ๊ฒฝ์ฐ --check-timestamps
, ์ต์
2์ ๊ฒฝ์ฐ --update-local-timestamps
์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฌ์ฉ์๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด ๋ณด๋ค ๊ฐ๋ ฅํ ๊ฒ์ฌ๋ฅผ ์ง์ ํ๊ณ ๋์์ ๊ฒฐ๊ณผ๋ฅผ ์์ฉํ ์ ์์ต๋๋ค.
์, ์ต์
1๊ณผ 2์ ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ํ ๊ฐ์ง ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ ๊ธฐ๋ณธ(์ง์ ๋ ์ต์
์์) ๋์์ sync
๊ฐ ์์๋๋ก ๋์ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์์ง๋ง ์ด๋ฌํ ์ต์
์ค ํ๋๋ก ๊ธฐ๋ณธ ๋์์ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข์ ๊ฒ์ธ์ง ํ์ ํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ์ฌ๊ธฐ์์ ์ฐ๋ฆฌ๊ฐ ๋ง๋ค ์ ์๋ ์ ์ฌ์ ์ธ ์ ์ถฉ์์ด ์์ต๋๋ค.
@jamesls ์์ฑ๋ ์ ์ ์น ์ฌ์ดํธ๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํด sync ๋ช ๋ น์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
ํ์ฌ ๋ฒ์ ์์๋ ์ฝํ ์ธ ๊ฐ ์ฌ์์ฑ๋์ง ์๋๋ผ๋ ์ฌ์ดํธ๊ฐ ์ฌ์์ฑ๋ ๋ mtime์ด ๋ณ๊ฒฝ๋๊ธฐ ๋๋ฌธ์ ๋๊ธฐํํ ๋๋ง๋ค ๋ชจ๋ ํ์ผ์ ๋ค์ ์ ๋ก๋ํ๊ณ ์์ต๋๋ค.
๋ด ๋ชฉ์ ์ ์ํด(๊ทธ๋ฆฌ๊ณ ์ด ๋ฉ์ง ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ์ฌ์ดํธ๋ฅผ ์ ๋ก๋ํ๋ ๊ฑด๊ฐํ ๋ง์ ์ฌ๋๋ค์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค) #575์์ ์ ์ํ ๋๋ก ETag๋ฅผ ํตํด ๋๊ธฐํํ๋ ๊ฒ์ด ๊ฐ์ฅ ๊ต์ฅํ ๊ฒ์ ๋๋ค. ์ต์ .
๊ทธ๊ฒ์ ์ ์ธํ๊ณ ๋ ์ ์ ์ฌ์ดํธ์ ๋ชฉ์ ์ ์ํด ๊ธธ์ด ๊ฒ์ฌ(์ฝ๊ฐ ์ํํ ์ ์์)๊ฐ ์๋ํฉ๋๋ค.
๋ ๋ค๋ฅธ ์ต์ ์ ๋ฉํฐํํธ ์ ๋ก๋๋ฅผ ๋นํ์ฑํํ๊ณ #575๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ฆ์ ์์ฒญ๋ ์ ์ฝ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
๋๋ ๋ฐ๋์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ค. ๋์ผํ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง S3์์ ํ์ผ์ ๋ณ๊ฒฝํ์ง๋ง ์ต์ ํ์์คํฌํ์ s3 ๋๊ธฐํ๊ฐ ํ์ผ์ ํ๋ค์ดํ์ง ์์ต๋๋ค.
AWS s3 ๋๊ธฐํ s3://bucket/path/ ๋๋ ํ ๋ฆฌ
S3์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋... ์๊ฐ๋ ๋ฌธ์ ๋๋ฌธ์ธ ๊ฒ ๊ฐ์์.
์์ฑ์ ๋ค์ ์๊ฐ์ ๋ณด์ฌ์ค๋๋ค.
๋ง์ง๋ง ์์ ๋ ์ง: 2014๋ 2์ 21์ผ ์ค์ 10:50:33
๊ทธ๋ฌ๋ HTTP ํค๋๋
์ต์ข ์์ ์ผ: 2014๋ 2์ 21์ผ ๊ธ์์ผ 15:50:33 GMT
Last Modified ์์ฑ์๋ ์๊ฐ๋๊ฐ ํ์๋์ง ์์ต๋๊น?
๋ด s3 sync ๋ช ๋ น์ด ํ์ผ์ ๋ฃ์ ์์น์ ๋ค๋ฅธ ์๊ฐ๋์ ๋ค๋ฅธ ์๋ฒ์์ ์คํ ์ค์ด๊ธฐ ๋๋ฌธ์ ํ์ผ์ด ๊ณผ๊ฑฐ์ ์๋ค๊ณ ์๊ฐํ๊ณ ๊ฐ์ ธ์ค์ง ์์ต๋๋ค.
๋ชจ๋ ํ์ผ์ ๊ฐ์ ธ์ค๋๋ก s3 cp๋ก ๋ณ๊ฒฝํด์ผ ํ์ต๋๋ค.
์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ก --size-only
์ธ์๋ฅผ ๊ตฌํํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ์๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ง๋ง ํน์ ์๋๋ฆฌ์ค์ ๊ฒฝ์ฐ ์ด๋ ๋์์ด ๋ ๊ฒ์ด๋ฉฐ ํนํ s3์ ๋๊ธฐํ๋๋ ์ ์ ์ฌ์ดํธ์ ํจ๊ป ์์์ ์ฐธ์กฐํ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ดํด/์ค๋ช
ํ๊ธฐ ์ฝ์ต๋๋ค.
๋๊ธฐํํ ํ์ผ์ด ๋์๋ณด๋ค ์ต์ ์ธ ๊ฒฝ์ฐ ๋๊ธฐํ์๋ ํญ์ ํ์ผ์ ๋๊ธฐํํ๋ ์ต์ ์ด ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์์คํ A์์ S3๋ก, ๊ทธ ํ์ S3์์ ์์คํ B๋ก ํ์ผ์ ๋๊ธฐํํ๊ณ ์์ต๋๋ค. ํ์ผ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋์ง ์์ผ๋ฉด(ํ์ง๋ง ๋ด์ฉ์ ๋ณ๊ฒฝ๋จ) ์ด ํ์ผ์ ์์คํ B์ ๋๋ฌํ์ง ์์ต๋๋ค. ์ด ๋์์ ์ค๋จ๋ฉ๋๋ค. ๋ง์ ํ์ผ๊ณผ ๋๊ธฐํํด๋ ์๊ด์์ง๋ง ๋ณ๊ฒฝ๋ ํ์ผ์ ์ ๋ ๋น ์ง๋ฉด ์ ๋ฉ๋๋ค.
๋ด ์ด์ ๊ฒ์๋ฌผ์ ๋ฐ๋ฅด๋ฉด "์ต์ "์ ์๊ฐ๋๋ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
ํ์ฌ ํ ์๊ฐ๋์์ S3๋ก ํ์ผ์ ํธ์ํ ๋ค์ ๋ค๋ฅธ ์๊ฐ๋์์ ๋๊ธฐํํ๋ฉด ํ์ผ์ด ์ต์ ์ธ์ง ์ฌ๋ฐ๋ฅด๊ฒ ๊ฐ์งํ์ง ๋ชปํฉ๋๋ค.
@jamesls --size-only ์ธ์์ ๋ํ์ฌ --name-only ์ธ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐ ๊ด์ฌ์ด ์์ต๋๋ค. ์ฆ, ํ์ผ ํฌ๊ธฐ๋ ๋ง์ง๋ง ์์ ์๊ฐ์ ํ์ธํ์ง ๋ง์ญ์์ค. ์์ค์๋ ์์ง๋ง ๋์์๋ ์๋ ํ์ผ์ ๋ณต์ฌํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ด ์๋๋ฆฌ์ค์์๋ s3์์ ๋ก์ปฌ๋ก ๋๊ธฐํํ๊ณ ํ์ผ์ ๋ค์ด๋ก๋ํ ํ์๋ s3์์ ํ์ผ์ด ๋ณ๊ฒฝ๋์ง ์์ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ์ด ์ต์ ์ผ๋ก ์ธํด ๋ก์ปฌ(nfs) ํ์ผ ์์คํ ์ ๋ํ ์์ ์ด ์ค์ด๋ค๋ฉด ์ฑ๋ฅ์ด ํฅ์๋ ์ ์์ต๋๋ค.
@jamesls --size-only
et al์ 1.3.6์์ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๊น?
์ฌ๋ก 186692581์ ๋ํ ์ AWS ์ง์ ๋ด๋น์๊ฐ ์ ์ ์์ ๊ทํ์๊ฒ ์ ๋ฌํ๋ค๊ณ ๋งํ์ต๋๋ค.
์ด์จ๋ ์๊ฒฌ์ ์ํด ์ฌ๊ธฐ์ ๊ฒ์ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
๋๋ ๊ฐ๋จํ ํด๊ฒฐ์ฑ
์ด fuzz factor๋ฅผ ๋์
ํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ก์ปฌ -> S3 ๋ณต์ฌ์ 5๋ถ ์ด์ ๊ฑธ๋ฆฌ์ง ์๋๋ค๋ฉด,
๊ทธ๋ฐ ๋ค์ ํ์ ์๊ฐ ๋น๊ต์์ 10๋ถ ํผ์ง ๊ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
10๋ถ ์ด๋ด์ ์๋ ์๊ฐ์ ๋์ผํ๊ฒ ์ทจ๊ธํ์ญ์์ค.
S3 ์๊ฐ์ด 10๋ถ ์ด์ ์ง๋ ๊ฒฝ์ฐ S3 -> ๋ก์ปฌ์์ ๋๊ธฐํํฉ๋๋ค.
์ต์
์ผ๋ก "--fuzz=10m"์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
@jamesls @adamsb6
https://github.com/aws/aws-cli/pull/575 ์ ์ด๋ ๋จ์ผ ๋ถ๋ถ ์
๋ก๋ ํ์ผ์ ๋ํด ์ข์ ์ต์
์ด ์๋๊ฐ์?
S3์์ ํ์ผ์ ETAG ํ์์ ํ์ธํ๋ฉด ํ์ผ์ด ๋จ์ผ("ETAG = "MD5 Hash") ๋๋ ๋ค์ค ํํธ(ETAG = "MD5 Hash" - "Number of Parts")๋ก ์ ๋ก๋๋์๋์ง ์ฌ๋ถ๊ฐ ๋ค๋ฅผ ์ ์์ต๋๋ค. ๋ชจ๋ ํ์ผ ๋ก์ปฌ MD5๋ฅผ ETAG์ ๋น๊ตํ ์ ์์ผ๋ฉฐ ํ์ผ์ด ๋ฉํฐํํธ๋ก ์ ๋ก๋๋ ๊ฒฝ์ฐ ๊ฑด๋๋ธ ์ ์์ต๋๋ค.
๋ชจ๋ AWS ๋ฆฌ์ ์ ec2 ์ธ์คํด์ค์ ๋๊ธฐํ๋๋ S3 ๋ฒํท์ ํน์ ํด๋์ ๋ง์ ๋น๋์ค ํด๋ฆฝ์ด ์๋ ๊ณ ๊ฐ์ด ์์ต๋๋ค. ๋ชจ๋ ํ์ผ์ ๋จ์ผ ๋ถ๋ถ์ผ๋ก ์
๋ก๋๋ฉ๋๋ค.
ํ์ฌ s3cmd๋ก ์ธํด ์ผ๋ถ ํ์ผ์ด ์์๋๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ ์ฒด ๋๊ธฐํ๋ฅผ ๋ค์ ์ํํ๋ฉด 14TB์ ํธ๋ํฝ์ด ์ฒญ๊ตฌ๋ฉ๋๋ค.
์ฐ๋ฆฌ์ ๋ฌธ์ : ์์๋ ํ์ผ์ s3์ ์๋ณธ ํ์ผ๊ณผ ์ ํํ ๊ฐ์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋ฉฐ s3cmd๋ฅผ ํตํ ์๋ชป๋ ํ์์คํฌํ๋ก ์ธํด ์์์ ์ธ๊ธํ ์ต์
์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ --compare-on-etag
๋ ๋ชจ๋ ํ์ผ์ ๋ค์ ๋๊ธฐํํ๋ ๊ฒ์ ๋ฐฉ์งํ๋ ํ๋ฅญํ ์๋ฃจ์
์
๋๋ค.
aws s3 sync๋ ๋ณ๊ฒฝ๋ ํ์ผ๋ง ๋๊ธฐํํ๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ ๋๊ธฐํ์ ๊ฒฝ์ฐ์๋ ๋จ์ผ ๋ถ๋ถ ์
๋ก๋ ํ์ผ์ด ์๋ ๊ฒฝ์ฐ --compare-on-etag
์ต์
์ด ์ข์ต๋๋ค.
๋๋ sync ๋ช
๋ น์ ์ฌ์ฉํ๋ ๋ฐ ํ์ํ ์ต์ ๊ถํ์ ์ฐพ๊ธฐ ์ํด 3์๊ฐ ๋์ ๋ ๋ง์ ์๊ฐ์ ๋ณด๋์ต๋๋ค. ๋ด๊ฐ ์ป์ ์ค๋ฅ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
A client error (AccessDenied) occurred when calling the ListObjects operation: Access Denied
์ค์ ๋ก ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋:
A client error (AccessDenied) occurred when calling the ListBucket operation: Access Denied
๊ฐ ๋ช ๋ น์ ๋ํ ์ต์ ๊ถํ์ด ์๋ ํ ์ด๋ธ์ ๋ณด์ฌ์ฃผ๋ ๋์๋ง ํญ๋ชฉ์ _๋งค์ฐ_ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
ํธ์ง: ๋ช ํํ ํ๊ธฐ ์ํด "aws s3 sync"์ rsync์ ๊ฐ์ ๋์์ ์ถ๊ฐํ์ญ์์ค. ๋ณด๊ณ ๋ ๊ทธ ๋ฌธ์ ๋ ๋ด๊ฐ ์ฒ์์ ์ดํดํ๋ ๊ฒ๊ณผ ๊ฐ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
์ต์ AWS-CLI-bundle.zip์๋ ์์์ ๊ตฌํํ ์์ ์ฌํญ์ด ํฌํจ๋์ด ์์ง ์๊ธฐ ๋๋ฌธ์ git clone์ ํ์ต๋๋ค. "customizations"๋ผ๋ ํด๋์์ ์ ์ฝ๋๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ aws-cli ๋ช ๋ น์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ด ๋ช ํํ์ง ์์ต๋๋ค. make-bundle์ ์คํํด์ผ ํฉ๋๊น?
๋ค. ๋ค์ ๋จ๊ณ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์๋ฒ(Ubuntu)์ ์ค์นํฉ๋๋ค.
git clone https://github.com/andrew512/aws-cli.git
cd aws-cli
pip install -r requirements.txt
sudo python setup.py install
์ข์์.
๋ฒ์ 1.3.18์์ ์์ ๋ ์ฝ๋๋ฅผ ๋ด
๋๋ค.
๋ด --exact-timestamps ๋งค๊ฐ ๋ณ์๋ฅผ ํ์ฉํฉ๋๋ค.
์ด์ ์ ์ค์นํ ์ต์ ๋ค์ด๋ก๋ ๋ฒ๋ค์ด 1.3.21์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
์์ ์ ์ธ ๋ฒ์ ๊ด๋ฆฌ๋ ๊ณต์ AWS ๋ฆด๋ฆฌ์ค์๋ง ์ ์ฉ๋ฉ๋๋ค. ๋๋ 1.3.18์์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ถ๊ธฐํ์ฌ ๋ณด๊ณ ํ ๋ฒ์ ์ด์ง๋ง ์ด๋ฏธ ๋ช ๊ฐ์ง ์ค๋๋ ๋ฒ์ ์ด๋ฉฐ 1.3.22๊ฐ ํ์ฌ ๊ฐ์ฅ ์ต์ ๋ฒ์ ์ ๋๋ค. AWS๊ฐ ํ ์์ฒญ์ ์๋ฝํ๊ณ ํฅํ ๊ณต์ ๋ฆด๋ฆฌ์ค์ ์ด ๊ธฐ๋ฅ์ ํฌํจํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ด๋ ์ฐ๋ฆฌ์๊ฒ ๋งค์ฐ ์ค์ํ๋ฉฐ ๊ฝค ์์ฌ์ค๋ฌ์ด ๊ธฐ๋ณธ ๋์์ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
@andrew512 ๋ฆ์ด์ ์ฃ์กํฉ๋๋ค. ๋ณด๋ด์ฃผ์ PR์ ์ข์ ์๊ฐ์ด๋ฉฐ aws s3 sync
๋ณ๊ฒฝ ์ฌํญ์ด ํจ๊ณผ๊ฐ ์๋ ๋ถ๋ถ๊ณผ ๊ทธ๋ ์ง ์์ ๋ถ๋ถ์ ๋ํ ๊ณ ๊ฐ ํผ๋๋ฐฑ์ ๋ฐ๋ ๊ฒ์ด ์ ๋ง ๋์์ด ๋ฉ๋๋ค. ์ ์ ํ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋ด ์๊ฐ์... ํค๋ ์์ฒญ์ ์ ๊ฒฝ ์ฐ์ง ์๋ ์ฌ๋๋ค์๊ฒ๋ MD5์ ๋ํ ๋น๊ต๊ฐ ์ต์ ์ด ๋์ด์ผ ํฉ๋๋ค. ๋๋ (๋ ๋ฒ์งธ๋ก) --compare-on-etag์ ํฌํํ ๊ฒ์ ๋๋ค. ์๋ํ๋ฉด ํ ์๋ฒ์์ S3์ผ๋ก๋ง ์ ๋ฐ์ดํธํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๋ก์ปฌ MD5 ๋ฆฌํฌ์งํ ๋ฆฌ๋ ์ ์๊ฒ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ์ฐ๋ฆฌ๊ฐ ๋ฌด์ธ๊ฐ๋ฅผ ๊ฐ์ง ํ์๊ฐ ์๋ค๊ณ ํ์คํ ์๊ฐํฉ๋๋ค. ํ์ฌ๋ก์๋ ๋ด ๋ก์ปฌ ์ ์ฅ์์ S3 ์ ์ฅ์๊ฐ ๋์ผํ์ง ํ์ ํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด์ ๊ฐ์ ์ํ์ ์์ต๋๊น?
@์ฅ๊ณ ๋ธ +1
์ฐ๋ฆฌ์ ์ฌ์ฉ ์ฌ๋ก๋ ์ด๋ฌํ ํ์ผ์ด git repo์ ์๊ณ ๊ตฌ์ฑ ํ์ผ์ด๋ฏ๋ก ์์ ๋ ๋ ์ง๋ ํ์ผ ํฌ๊ธฐ๊ฐ ์ค์ ๋ก ์๋ํ์ง ์์ผ๋ฏ๋ก ์ฑ๋ฅ ์ํฅ์ ์ฒ๋ฆฌํ ์ ์๋ ์ค์ md5 ์ต์ ์ ๋ณด๊ณ ์ถ์ต๋๋ค.
git repo๋ฅผ ์ฒดํฌ์์ํ ๋ ํ์ผ ์์ ๋ ์ง๋ ํ์ผ์ด ์์ฑ๋ ๋ ์ง์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ํ ํ์ผ ๋ณ๊ฒฝ์ด ๋ค์๊ณผ ๊ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ ํ์ผ ํฌ๊ธฐ๊ฐ ์๋ํ์ง ์์ต๋๋ค.
foo="bar"
์๊ฒ
foo="baz"
๋ฐ๋ผ์ ํ์ผ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
@jamesls ๋ฉํฐํํธ ์ ๋ก๋์ ๋ํ md5๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด ์ฌ๊ธฐ ์์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค.
์๋
ํ์ญ๋๊น,
๋ํ foo="bar"/foo="baz"๋ก ์ ์ค๋ช
๋ ์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ์ S3 ๋ฒํท์ ์ฌ์ฉํ๊ณ ๋ฐฐํฌ๊ฐ ์๋ฃ๋๋ฉด ๋ชจ๋ ์๋ฒ๊ฐ S3์์ ๋๊ธฐํ๋ฉ๋๋ค. ์ด ๋ฒ๊ทธ๋ก ์ธํด ๋๊ธฐํ๋์ง ์์ ํ์ผ์์ ์ฐ์ฐ์ >=์ ๋ฌธ์ ๊ฐ <=๋ก ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ๊ฐ ๋ช ๋ฒ ์์๊ณ ์ด ๋ฒ๊ทธ๋ก ์ธํด ๋๊ธฐํ ๋ช
๋ น์ด ๊ทธ๋ค์ง ์์ ์ ์ด์ง ์์ต๋๋ค. ํฌ๊ธฐ๋ ๊ฐ์ง๋ง ๋ด์ฉ์ด ๋ค๋ฅด๋ฏ๋ก ํ์ผ์ ๋๊ธฐํํด์ผ ํฉ๋๋ค.
๋๋ ๊ทธ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ํน๋ณํ ์กฐ์ธ์ด ์์ต๋๋ค. ์ฃ์กํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ๋จ์ง ๋ด ์ ์ค ์ผ์ด์ค๋ฅผ ๊ณต๊ฐํ๊ณ ์์ต๋๋ค :)
๋ ธ๋-ftpsync๋ฅผ ๊ฐ๋ฐํ๋ ๋์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. AWS์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ง๋ฒ ๊ฐ์ ์๋ฃจ์ ์ด ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
@ngbranitsky๊ฐ ์ ์ํ ๊ฒ์ฒ๋ผ ' ๊ฒ์ด ์ข์ต๋๋ค. node.js์์ ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ ๊ณ ํต์ค๋ฌ์ด ์ผ์ด์ง๋ง ํ์ด์ฌ์์๋ ๋นํธ AND๋ฅผ ์ฌ์ฉํ์ฌ ๋ง์ง๋ง ๋ช ๋นํธ๋ฅผ ์๋ฅด๋ ๊ฒ๋งํผ ์ฌ์์ผ ํฉ๋๋ค.
AWS์๋ ํด๋น ๋ฌธ์ ๊ฐ ์์ผ๋ฏ๋ก ๋ก์ปฌ ํธ์คํธ์์ mtime์ด ์ฌ์ฉ๋๋ ๋ฐฉ์๋ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ๋ชจ๋ ๋๊ธฐํ์์ mtime ๊ฐ์ ๋ณ๊ฒฝํ์ฌ ํด๋น ํ์ผ์ ๋ณด๋ ํธ๋์คํ์ผ๋ฌ๊ฐ ์๋ ๊ฒฝ์ฐ ๋๋ ์ ๋ฐ์ดํธ ์ด๋ฒคํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ์๊ฒ ์ต๋๊น? ํ์ผ ๋ณ๊ฒฝ ์ฌํญ์ ์ธก์ ํ๊ธฐ ์ํ ๋ฉํธ๋ฆญ์ผ๋ก mtime์ ์ฌ์ฉํ๋ ๋ค๋ฅธ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์๊ฐ ์์ต๋๊น?
์ด๊ฒ์ด ์ผ๋ฐ์ ์ธ ํด๊ฒฐ์ฑ ์ด ์๋๋ผ๋ ๊ฒ์ ์๊ณ ์์ง๋ง ๋๊ธฐํ๋ฅผ ์ํด ๋ค์๊ณผ ๊ฐ์ ์ ํ์ ๋์์ ๋ณด๋ ๊ฒ์ด ๋งค์ฐ ์ข์ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ์ผ์ข ์ ์๋์ค์ ๊ฐ์ต๋๋ค. OP์ 4๋ ๋ ๋์ ์ฑ๋ฅ์ ์ํด ์์ ๋์์ต๋๋ค.
์ฌ๊ธฐ์์ ์ฌ์ฉ ์ฌ๋ก๋ ์น ๋งต ํ์ผ์ ๋๊ธฐํํ๋ ๊ฒ์ ๋๋ค. ์ด ํ์ผ์ 1% ๋ฏธ๋ง์ ์ผ๋ฐ์ ์ผ๋ก ๋งค์ผ ๋ณ๊ฒฝ๋ฉ๋๋ค. ์์ธ๋ ์์ค ๋ฐ์ดํฐ์์ ์ญ์ ๊ฐ ๋ฐ์ํ์ฌ ํ์ผ์ ๊ณต๊ฐ ์ ์ฉ ๋ฒ์๋ฅผ ๋ณ๊ฒฝํ์ฌ ์ ์ฒด ๋งต ํ์ผ ์ธํธ๋ฅผ ์ฌ์์ฑํด์ผ ํ๋ ๊ฒฝ์ฐ์ ๋๋ค.
๋ฌธ์ ๋ ๊ด๋ จ๋ ์์ฒญ๋ ์์ ๋๋ค. ํฐ ๋ฉํฐํํธ ์ ๋ก๋์ ๋ํ ๋ ผ์๋ ์ฌ์ฉ ์ฌ๋ก๋ก ๋ณผ ์ ์์ง๋ง ๋ง์ ๊ฐ๋ณ ์์ ํ์ผ์ ๋ํ ๋ ผ์๋ ์๋๋๋ค. ์ผ๋ง๋? ํ์ฌ ์ฝ 2m๊ฐ ์์ง๋ง ํจ์ฌ ๋ ๋๋น ์ง ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํ๋/์ถ์ ์์ค 16์์ ์ธ๊ณ์๋ 1 << 16 x 1 << 16 ๋๋ 65536 x 65536 ํ์ผ ๋๋ ~4b๊ฐ ์์ต๋๋ค.
ํ์ฌ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ๊ฑท๊ณ , ๋ก์ปฌ sqlite3 ์บ์ DB๋ฅผ ์ ๋ฐ์ดํธํ๊ณ , ์ ์ฌ์ ์ผ๋ก ๋ณ๊ฒฝ๋ ์ค์ /์ ๋ก๋ ๋๊ธฐ์ด์ ๊ตฌ์ถํ๋ C ์ฝ๋๋ฅผ ํฐ ์ด๋ ค์ ์์ด ์์ฑํ ์ ์์ต๋๋ค. ๋ถํํ๋, ์ ๋ ํ์ด์ฌ ๊ฒฝํ์ด ์์ผ๋ฉฐ ์ด๊ฒ์ ์ ํ์ ๋๊ธฐํ ๋์์ ๋ํ ํ ์์ฒญ์ผ๋ก ์ ์ถํ ์ ์์ต๋๋ค.
"๋ง์ ์์ ํ์ผ, ๋์ญ ์ธ ๋ณ๊ฒฝ ์์ ๋ณด์ฅ, ๋ก์ปฌ-> ์๋ฒ ์ ์ฉ" ์ฌ์ฉ ์ฌ๋ก๊ฐ ์ผ๋ง๋ ์ผ๋ฐ์ ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์์ค์ ์ต์ ํ์ผ์ด ๋์์ ์ด์ ํ์ผ์ ๋์ฒดํ๋๋ผ๋ ๋๊ธฐํ๊ฐ ๋ง์ง๋ง ์์ ์๊ฐ์ ์ฐจ์ด ๋ฅผ ์ ๋ฐ์ดํธ์ ์ด์ ๋ก ์ทจ๊ธํ๋ ๊ฒ์ด ์ง๊ด์ ์ด์ง ์๊ณ ์ํํ๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ์ด ์ด์ํ ๋์์ ๋ฌธ์ํํด์ผ ํฉ๋๋ค.
๋ํ #404์ ๊ด๋ จ์ด ์์ต๋๋ค.
์ฆ๊ฐํ๋ ๋น ์์ฒด ๋ฌธ์ํ ์ต์
๋์ ๋จ์ผ ์์ฒด ๋ฌธ์ํ --sync-if
ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ ์ด๋ป์ต๋๊น? (์: --size-only
, --exact-timestamps
. ์ด ๋ ๊ฐ์ง๋ฅผ ๋์์ ์ ์ฉํ ์ ์์ต๋๊น? ๋ฌธ์๋ฅผ ์ฝ์ด์ผ ํ๊ณ /์ด๊ฒ์ ์์๋ด๋ ค๊ณ ์๋ํด์ผ ํ๋ ์ด์ ๋ ๋ฌด์์
๋๊น?).
--sync-if
์๋ ๋ค์๊ณผ ๊ฐ์ ์ต์
๋ชฉ๋ก์ด ์์ ์ ์์ต๋๋ค.
--sync-if newer-timestamp,different-md5,different-timestamp,different-size,deleted,...
์ฌ์ฉ์๋ ํ๋ ์ด์(์ผํ๋ก ๊ตฌ๋ถ๋ ๋ชฉ๋ก)์ ์ง์ ํ ์ ์์ผ๋ฉฐ ํ์ผ์ด ๊ธฐ์ค ์ค ํ๋๋ผ๋ ์ถฉ์กฑํ๋ฉด ๋์์์ ์ ๋ฐ์ดํธ(์ ๋ก๋/์ญ์ )๋ฉ๋๋ค.
์ด๊ฒ์ ํนํ ๋ฌธ์์์ ๊ธฐ๋ณธ ๋์์ด --sync-if different-timestamp,different-size
๋ผ๊ณ ์ธ๊ธํ ๊ฒฝ์ฐ ๋์์ ํฌ๊ฒ ๋ช
ํํ๊ฒ ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ์ฝ์ด๋ณด๋ฉด ์ด ๋๊ธฐํ ๋์์ด ์์ง ์์ ๋์๋์ง ์ ์ ์์ต๋๋ค.
๋ก์ปฌ ๋น๋๋ฅผ ์๋ฒ์ ๋น๋์ ๋๊ธฐํํ๊ธฐ ์ํด rsync -avz
์ฒ๋ผ ๊ฐ๋จํ๊ฒ ์๋ํ๋ ๊ฒ์ ์ํฉ๋๋ค.
๋๋ aws s3 sync
ํ๊ณ ์์์ง๋ง ํฐ ํ์ผ(๋์์์ธ ๋์๋ง ํ์ผ)์ด ํ๋ ์๊ณ ๋น๋ ๋จ๊ณ์์ ์ ํ์ผ์์ ๋ชจ๋ ํ์ผ์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋งค๋ฒ ๋ชจ๋ ํ์ผ์ ๋ณต์ฌํ๊ณ ๋ถํ์ํ๊ฒ ๋๋ ค์ก์ต๋๋ค. ์ฌ์ดํธ๋ฅผ ์
๋ฐ์ดํธํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ์๋๋ฅผ ๋์ด๊ธฐ ์ํด --size-only
๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํ์ต๋๋ค. ๋ถํํ๋, ์ด๊ฒ์ ์ต๊ทผ์ ์ ๋ฅผ ๋ฌผ์์ต๋๋ค. ํ์ผ ์ด๋ฆ์ ๋ณ๊ฒฝํ์ผ๋ฉฐ ๋น๋ ๋จ๊ณ์๋ service-worker.js ํ์ผ์ ํ์ผ ๋ชฉ๋ก์ด ํฌํจ๋์ด ์์ผ๋ฏ๋ก sw๊ฐ ์บ์ํ ํญ๋ชฉ์ ์ ์ ์์ต๋๋ค. ๋ถํํ๋ ์ ํ์ผ ์ด๋ฆ๊ณผ ์ด์ ํ์ผ ์ด๋ฆ์ ๊ธธ์ด๊ฐ ๋์ผํ์ฌ service-worker.js ํ์ผ์ ์
๋ฐ์ดํธํ์ง ์๊ณ ์ด์ ํ์ผ ์ด๋ฆ์ ๊ณ์ 404๋ฅผ ์ ๊ณตํ์ต๋๋ค. ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์์๋ด๋ ๋ฐ ๊ฝค ์ค๋ ์๊ฐ์ด ๊ฑธ๋ ธ์ต๋๋ค.
์ด๊ฒ์ ๋ค๋ฅธ ํ๊ฒฝ(์: rsync)์์ ํด๊ฒฐ๋ ๋ฌธ์ ์ธ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, tbh, ๋๋ ์๋ง๋ S3์์ ์ด์ ๊ฐ์ ์์ ์ ์ํํ ๋ ๋ํ๋๋ ๋ฌธ์ ์ ๋ํด ๋ค์ ๋ฌด์งํ ๊ฒ์ ๋๋ค. ์ด์จ๋ ์ต๊ทผ์ ์ด๊ฒ์ ์กฐ๊ธ ์์ํดํ๋ฉด์ ๋ค๋ฅธ ํด๋ผ์ด์ธํธ๋ฅผ ์ดํด๋ณด๊ณ ์์ง๋ง ์ด ๊ธฐ๋ฅ์ ๋ํด์๋ง ์ฑํํ๋ ๋ฐ ๊ด์ฌ์ด ์๋ ์ข ์์ฑ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
etag ๋๊ธฐํ ์ต์ ์ด ์์ผ๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ์คํจํ๋ ์๋๋ฆฌ์ค๊ฐ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์ ์๊ฒ๋ ๋งค์ฐ ๊ฐ์น๊ฐ ์์ต๋๋ค.
์๋ ํ์ธ์!
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/33168808-aws-s3-sync-issues) ์์ ์ฐพ์ ์ ์์ต๋๋ค.
github ๋ฌธ์ ์์ ๋ฒ์ด๋๊ณ ๊ณ์ญ๋๊น? ๊ทธ๊ฑด ์ค์์ธ๋ฏ...
๋์. Microsoft๊ฐ ๋ฌธ์ ์ ์ค์์ฑ/์ํฅ์ ํ๋จํ๋ ๋ฐ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ๋น์ทํด ๋ณด์ด์ง๋ง ์๋นํ ์ง์ฆ๋ฉ๋๋ค.
์ปค๋ฎค๋ํฐ ํผ๋๋ฐฑ์ ๊ธฐ๋ฐ์ผ๋ก GitHub ๋ฌธ์ ์ ๊ธฐ๋ฅ ์์ฒญ์ ๋ฐํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
์ด ๋ฐฑ์ ์ ๋ฒํ!
์ ์์ผ๋ก!
md5์ ๋น๊ต๋ ํ๋ฅญํ ๊ฒ์ ๋๋ค. ๋ํ ์ ๋ก๋ ๋๋ ๋ค์ด๋ก๋ ์ md5๋ฅผ ์ถ๋ ฅํ๋ ๊ฒ์ด ๋์์ด ๋ ๊ฒ์ด๋ผ๊ณ ๋ง๋ถ์ ๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ ์์ ์ db์ ์ ์ฅ๋ ์ ์๊ณ ์์ฒญ์ ์ ํํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํตํด ๋๊ธฐํ๊ฐ ํ์ํ์ง ๊ฒฐ์ ํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
@jamesls ์ด ๋ฌธ์ ์ ๋ํด ์๊ฒฌ์ ๋ง์ํด ์ฃผ์๊ฒ ์ต๋๊น?
https://github.com/aws/aws-cli/issues/4460
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๋ฐฑ์ ์ ๋ฒํ!