반응형
rsync를 사용하여 SSH를 통해 파일을 복사하는 방법
rsync는 기본적으로 SSH를 지원하며, SSH를 통해 원격 호스트 간에 파일을 동기화하는 데 사용할 수 있습니다.
기본적인 구문
rsync -avz -e "ssh" /원본/경로/ 사용자@원격호스트:/목적지/경로/
- -avz: 파일을 아카이브 모드로 동기화합니다. a는 아카이브 모드, v는 자세한 출력을 보여줍니다, z는 파일 압축을 사용합니다.
- -e "ssh": rsync가 SSH를 통해 파일을 복사하도록 지정합니다.
- /원본/경로/: 로컬 시스템에서 복사할 파일이나 디렉토리의 경로를 지정합니다.
사용자@원격호스트:/목적지/경로/: 원격 시스템에서 복사할 위치를 사용자명, 호스트명 및 경로를 함께 지정하여 지정합니다.
실제 예를 들어, 로컬 서버의 /home/user/documents/ 디렉토리를 원격 서버의 /backup/ 디렉토리로 복사하려면 다음과 같이 실행합니다.
rsync -avz -e "ssh" /home/user/documents/ user@2.2.2.2:/backup/
실행 후 rsync는 로컬 디렉토리와 원격 디렉토리를 비교하여 변경된 파일만 복사합니다. 이를 통해 대량의 데이터를 효율적으로 동기화할 수 있습니다. 또한 SSH를 통해 파일을 안전하게 전송하며, 원격 서버에 원하는 디렉토리를 복사할 수 있습니다.
- Pull
rsync [OPTION] [USER@]HOST:SRC [DEST]
- Push
rsync [OPTION] SRC [USER@]HOST:DEST
로컬 서버(1.1.1.1)에서 원격 서버(2.2.2.2)로 디렉토리를 복사하는 방법
rsync -ahvz --progress -e "ssh" /Source root@2.2.2.2:/Destination/
- -a: 아카이브 모드를 활성화합니다. 파일 권한, 소유자, 그룹, 시간 등을 보존하여 동기화합니다.
- -h: 사람이 읽기 쉬운 형식으로 출력합니다.
- -v: 자세한 출력을 보여줍니다. 복사 진행 상황을 확인할 수 있습니다.
- -z: 파일을 압축하여 전송합니다. 대역폭 절약을 위해 사용됩니다.
- --progress: 복사 진행 상황을 보여줍니다.
- -e "ssh": SSH를 통해 원격 호스트로 연결하여 파일을 복사합니다.
이렇게 사용하면 /Source 디렉토리의 내용을 원격 서버 2.2.2.2의 /Destination/ 디렉토리로 복사하게 됩니다. 실행시 변경사항만 동기화되므로 중복 전송을 방지하고 효율적으로 파일을 동기화할 수 있습니다.
원격 서버(2.2.2.2)의 디렉토리를 로컬 서버(1.1.1.1)로 복사하는 방법
rsync -ahvz --progress -e "ssh" root@2.2.2.2:/Source /Destination/
- -a: 아카이브 모드를 활성화합니다. 파일 권한, 소유자, 그룹, 시간 등을 보존하여 동기화합니다.
- -h: 사람이 읽기 쉬운 형식으로 출력합니다.
- -v: 자세한 출력을 보여줍니다. 복사 진행 상황을 확인할 수 있습니다.
- -z: 파일을 압축하여 전송합니다. 대역폭 절약을 위해 사용됩니다.
- --progress: 복사 진행 상황을 보여줍니다.
- -e "ssh": SSH를 통해 원격 호스트로 연결하여 파일을 복사합니다.
위의 명령어를 사용하면 원격 서버 2.2.2.2의 /Source 디렉토리의 내용을 로컬 서버의 /Destination/ 디렉토리로 복사하게 됩니다. 실행시 변경사항만 동기화되므로 중복 전송을 방지하고 효율적으로 파일을 동기화할 수 있습니다.
728x90
반응형
'리눅스' 카테고리의 다른 글
[Apache] 아파치 액세스 로그 설정 (0) | 2020.12.15 |
---|---|
[Apache] apache 다운로드 대역폭 속도 제한 (1) | 2020.12.15 |
[리눅스] fabric 라이브러리 설치 (0) | 2020.12.14 |
Docker 컨테이너의 변경 내용을 이미지로 커밋, 저장, 로드, 태그 변경하는 방법 (0) | 2020.12.11 |
Rocky Linux 9에서 Postfix 메일 서버를 설치하고 설정하는 방법 (1) | 2020.12.11 |