AWS S3 rsync 와 cp 의 용도와 사용방법
rsync 와 cp 는 목적지로 파일을 이동할 수 있다는 점 입니다.
rsync 사용법
aws s3 rsync SOURCE DEST
* SOURCE 는 폴더 혹은 파일이 될 수 있습니다.
/root/test 에 있는 파일을 s3 의 backup 경로에 업로드하는 명령어 입니다.
1 2 3 4 | [root@test ~]# aws s3 sync /root/test s3://bucket/backup/ upload: test/a to s3://bucket/backup/a upload: test/c to s3://bucket/backup/c upload: test/b to s3://bucket/backup/b | cs |
cp 사용법
aws s3 cp SOURCE DEST [--recursive]
* --recursive 옵션이 사용되었을 때, SOURCE 는 폴더 혹은 파일이 될 수 있습니다.
/root/test 에 있는 파일을 s3 의 backup 경로에 업로드하는 명령어 입니다.
1 2 3 4 5 6 | [root@test ~]# aws s3 cp /root/test/a s3://bucket/backup/ upload: test/a to s3://bucket/backup/a [root@test ~]# aws s3 cp /root/test/b s3://bucket/backup/ upload: test/b to s3://bucket/backup/b [root@test ~]# aws s3 cp /root/test/c s3://bucket/backup/ upload: test/c to s3://bucket/backup/c | cs |
rsync 와 cp 의 차이점
업로드 방식
rsync 는 변경된 파일에 대해서만 업로드를 합니다.
아래는 동일한 파일을 2번 업로드하였기 때문에 2번째 명령어로는 업로드 되지 않습니다.
1 2 3 4 5 6 | [root@test ~]# aws s3 sync /root/test s3://bucket/backup/ upload: test/a to s3://bucket/backup/a upload: test/c to s3://bucket/backup/c upload: test/b to s3://bucket/backup/b [root@test ~]# aws s3 sync /root/test s3://bucket/backup/ [root@test ~]# | cs |
cp 는 무조건 업로드를 하는 방식입니다.
동일한 파일이 업로드 되어 있더라도, 다시 업로드를 진행합니다.
1 2 3 4 5 6 7 8 9 10 11 12 | [root@test ~/redis-mgmt]# aws s3 cp /root/test/a s3://bucket/backup/ upload: test/a to s3://bucket/backup/a [root@test ~/redis-mgmt]# aws s3 cp /root/test/b s3://bucket/backup/ upload: test/b to s3://bucket/backup/b [root@test ~/redis-mgmt]# aws s3 cp /root/test/c s3://bucket/backup/ upload: test/c to s3://bucket/backup/c [root@test ~/redis-mgmt]# aws s3 cp /root/test/a s3://bucket/backup/ upload: test/a to s3://bucket/backup/a [root@test ~/redis-mgmt]# aws s3 cp /root/test/b s3://bucket/backup/ upload: test/b to s3://bucket/backup/b [root@test ~/redis-mgmt]# aws s3 cp /root/test/c s3://bucket/backup/ upload: test/c to s3://bucket/backup/c | cs |
cp 명령어는 폴더를 업로드 하기 위해 recursive 옵션을 사용해야 함
cp 를 사용하여 폴더를 지정하는 경우 업로드를 하지 못합니다.
1 2 | [root@test ~]# aws s3 cp /root/test/ s3://bucket/backup/ upload failed: test/ to s3://bucket/backup/ [Errno 21] Is a directory: u'/root/test/' | cs |
이 때는, --recursive 옵션을 사용하여 폴더아래에 있는 파일들을 업로드 해주어야 합니다.
1 2 3 4 | [root@test ~]# aws s3 cp /root/test/a s3://bucket/backup/--recursive upload: test/b to s3://bucket/backup/b upload: test/c to s3://bucket/backup/c upload: test/a to s3://bucket/backup/a | cs |
'AWS > S3' 카테고리의 다른 글
[AWS] S3 특정 기간이 지난 오래된 파일 삭제하는 방법 (0) | 2020.07.28 |
---|---|
[AWS] S3 rm 폴더 삭제하는 방법 (0) | 2020.07.28 |