rsync를 사용하여 변경된 파일 목록을 생성한 다음 해당 목록을 사용하여 파일을 s3에 업로드합니다.
rsync -av somefiles/ someotherfiles/ > list.txt
while read F ; do
echo $F
aws s3 cp $lcDir/$F s3://durktest/blender/$F
done <list.txt
목록 내용의 예
swresample-2.dll
swscale-4.dll
tahoe.log
ucrtbase.dll
vcomp140.dll
vcruntime140.dll
2.78/
2.78/config/
2.78/config/bookmarks.txt
2.78/config/recent-files.txt
2.78/config/userpref.blend
2.78/datafiles/
2.78/datafiles/colormanagement/
2.78/datafiles/colormanagement/config.ocio
2.78/datafiles/colormanagement/filmic/
2.78/datafiles/colormanagement/filmic/filmic_desat65cube.spi3d
2.78/datafiles/colormanagement/filmic/filmic_false_color.spi3d
2.78/datafiles/colormanagement/filmic/filmic_to_0-35_1-30.spi1d
2.78/datafiles/colormanagement/filmic/filmic_to_0-48_1-09.spi1d
2.78/datafiles/colormanagement/filmic/filmic_to_0-60_1-04.spi1d
2.78/datafiles/colormanagement/filmic/filmic_to_0-70_1-03.spi1d
2.78/datafiles/colormanagement/filmic/filmic_to_0-85_1-011.spi1d
2.78/datafiles/colormanagement/filmic/filmic_to_0.99_1-0075.spi1d
2.78/datafiles/colormanagement/filmic/filmic_to_1.20_1-00.spi1d
2.78/datafiles/colormanagement/luts/
2.78/datafiles/colormanagement/luts/aces_to_xyz.spimtx
2.78/datafiles/colormanagement/luts/adx_adx10_to_cdd.spimtx
퓨즈 드라이버와 rsync를 s3에서 직접 사용하는 것보다 더 좋은 방법이 있습니까?
답변1
이를 수행하는 더 좋은 방법이 있습니다.aws s3 sync
예
aws s3 sync somefiles/ s3://durktest/blender
읽다AWS CLI 명령 참조더 알아보기
답변2
로 끝나는 줄을 제거하려면 /
다음을 사용하세요 sed
.
sed '/\/$/d'
표준 입력에서 표준 출력으로 복사하거나 다음을 /
사용합니다 grep
.
grep -v '/$'
아마도 다른 방법도 많이 있을 것입니다.
답변3
GNU 사용 xargs
:
grep -v '/$' list.txt |
xargs -rd '\n' -I@FILE@ aws s3 cp "$lcDir/@FILE@" s3://durktest/blender/@FILE@
( $lcDir
포함되지 않는다고 가정 @FILE@
)
코드에 몇 가지 문제가 있습니다.
- 네가 부르고 있어
read
시간도 없고-r
시간도 없어$IFS
$lcDir
당신은 인용 하는 것을 잊었고$F
- 사용해 보셨나요?
echo
- 그럼에도 불구하고 이 접근 방식을 사용하면 줄 바꿈이 포함된 파일 이름에 문제가 발생합니다.
루프를 정말로 사용하고 싶다면 다음과 같이 할 수 있습니다:
(
ret=0
while IFS= read -r F <&3; do
case $F in
(*/) ;;
(*)
printf '%s\n' "$F"
aws s3 cp "$lcDir/$F" "s3://durktest/blender/$F" || ret=$?;;
esac
done 3< list.txt
exit "$ret"
)
duplicity
어떤 AFAIK가 Amazon s3를 백엔드로 지원하는지 고려할 수도 있습니다 .