File Transfer - scp, rsync
2021. 2. 6. 12:35ㆍ프로그래밍/기타
반응형
서버 작업을 하다보면 서버와 서버 사이에 파일 전송 이슈가 있는 경우가 있다.
개인적으로 주로 SFTP나 FTP를 이용해서 파일을 전송했었는데... 요즘은 rsync 를 이용해서 파일 전송을 주로 하고 있습니다.
그중 많이 쓰이는 scp, rsync 에 대해서... 간단히 커맨드 정리 해둔다.
SCP (Secure Copy)
ssh를 통해서 파일을 전송하는 도구로 서버에서 서버로 쌍방향 전송이 가능하다.
다른 장비로 파일 복사하기 |
scp -rp sourcedirectory user@dest:/path -r means recursive -p preserves modification times, access times, and modes from the original file. |
scp *.pdf sean@123.12.1.123:/home/sean/download/ >> 모든 PDF 파일을 123.12.1.123 서버의 /home/sean/download 폴더로 복사 |
scp -rp ~/files sean@123.12.1.123:/home/sean/download/ >> files 폴더 이하에 있는 모든 파일을 123.12.1.123 서버의 /home/sean/download 폴더로 복사 |
다른 장비에서 파일 복사해오기 |
scp -rp user@dest:/path sourcedirectory |
scp sean@123.12.1.123:/home/sean/download/*.pdf ./download >> 123.12.1.123 서버의 /home/sean/download 폴더의 모든 PDF 파일을 ./download 폴더로 복사 |
scp -rp sean@123.12.1.123:/home/sean/download/ ~/files >> 123.12.1.123 서버의 /home/sean/download 폴더 하위의 모든 파일을 ~/files 폴더로 복사 |
참고로 파일명에 공백 등이 들어간 경우 " " 로 둘러싸주면 된다. ex) "abc file.txt"
rsync
서버간에 파일을 동기화하는 도구이다. 이 또한 쌍방향 전송이 가능하다.
필자는 AWS에서 서버 관리를 주로 하고 있는데 인증 파일(.pem)을 이용해서 서버에 파일을 싱크할때 자주 사용하고 있다.
파일 싱크하기 (일반) |
rsync -a -e ssh user@source-server:/source/ /dest/ rsync -a -e ssh /source/ user@source-server:/dest/ -a : archive mode (include a lot of default common options, including preserving symlinks) -z : compress -v : verbose : show files -P : show progess as files done/remaining files -e ssh : do rsync in ssh protocol --delete : delete files in the destination that are not anymore in the source |
rsync -avz -e ssh pi@123.12.1.123:download/ files/ >> 123.12.1.123 서버의 download 폴더의 파일을 ./files 폴더로 복사 |
rsync -avz -e ssh files/ pi@123.12.1.123:download/ >> ~/files 의 파일들을 123.12.1.123 서버의 /home/sean/download 폴더로 복사 |
인증서 파일 (.pem) 파일을 이용해서 싱크하기 |
sudo rsync -avzP -e "ssh -i /root/.ssh/my_certificate.pem" /source/ user@source-server:/dest/ sudo rsync -avzP -e "ssh -i /root/.ssh/my_certificate.pem" user@source-server:/source/ /dest/ |
반응형
'프로그래밍 > 기타' 카테고리의 다른 글
.gitignore 적용 안될때 (0) | 2021.10.15 |
---|---|
ssh-keygen을 이용한 ssh 자동 로그인 (0) | 2021.10.15 |
root 유저로 ssh 접근 제어 해야할 때 (0) | 2018.08.23 |
CentOS - SVN 설치시 에러 (3) | 2018.08.23 |
Linux 프로세스 관리 쉘 (0) | 2018.08.23 |