리눅스 rsync 사용 방법 (cp 진행률 확인)
- 운영체제(OS)
- 2023. 5. 9.
리눅스에서 파일을 복사할 때 cp가 자주 사용됩니다. cp는 옮기려는 파일이 클수록, 파일의 권한 설정이 중요할수록 사용하는데 한계가 있습니다. 간단한 예로, cp는 파일이 얼마나 전송되었는지 실시간으로 확인이 안 됩니다. 만약 용량이 큰 파일을 복사하는 경우 포그라운드에서 기약 없이 10분이고 20분이고 기다려야 합니다. 반면 rsync는 전송 진행률을 실시간으로 출력합니다. 이외에도 여러 방면에서 파일 복사 시 필요한 옵션을 제공합니다.
rsync
rsync는 리눅스에서 파일과 디렉토리를 복사하는 데 사용되는 도구입니다.
[기본 구문]
rsync [옵션] [원본] [목적지]
아래와 같은 옵션들과 함께 사용 가능합니다.
- -a : 아카이브 모드로서 원본의 심볼릭 링크, 파일 권한, 파일 수정 시간, 파일 그룹, 파일 소유자 등을 그대로 유지해서 복사합니다.
- -v : 상세한 출력을 표시합니다.
- -z : 데이터를 압축해서 전송합니다. 압축된 상태로 붙여 넣는 건 아니고, 목적지에는 압축이 풀린 상태로 복사됩니다.
- -h : 사람이 읽기 쉬운 형식으로 출력합니다.
- -P : 전송 진행 상황을 표시하고 중단된 전송을 재개합니다.
cp와 rsync 차이
리눅스에서 파일을 복사할 때 cp를 많이 사용합니다. 그래서 비슷한 기능을 수행하는 rsync와 비교가 되곤 합니다. 둘은 모두 파일과 디렉터리를 복사하는 명령어입니다. 다만 cp 대비 rsync는 더 다양한 기능을 제공합니다.
cp | rsync |
로컬 시스템에서 파일을 복사하는데 사용됩니다. | 로컬 뿐만 아니라 원격 시스템 간에도 파일 복사가 가능합니다. |
기존 파일이 있으면 덮어씁니다. | 기존 파일을 확인하고 변경된 부분만 전송하여 시간을 절약합니다(델타 전송 알고리즘). |
중단된 복사 작업을 자동으로 재개할 수 없습니다. | 중단된 복사 작업을 재개할 수 있습니다. |
파일 전송 시 진행 상황을 표시하지 않습니다. | 파일 전송 시 진행 상황을 표시할 수 있습니다. |
전송 시 파일의 소유권을 사용자 계정으로 저장시킵니다. | 전송 시 파일의 소유권, 권한 등을 그대로 복사할 수 있습니다. |
예시) 전송 진행 상황 확인
rsync -avhP /path/to/source/large_file /path/to/destination/
P 옵션을 사용하면 아래와 같은 형태로 데이터 전송 진행 상황을 실시간으로 확인할 수 있습니다. 순서대로 전송된 데이터 크기, 전체 진행률, 현재 전송 속도, 남은 예상 시간을 나타냅니다.
large_file 2.00G 20% 10.2MB/s 0:01:56
예시) 로컬 디렉터리 → 로컬 디렉터리 복사
rsync -avhP /path/to/source/ /path/to/destination/
예시) 로컬 디렉터리 → 원격 서버 복사
rsync -avhP /path/to/source/ user@remote_host:/path/to/destination/
예시) 원격 서버 → 로컬 디렉터리 복사
rsync -avhP user@remote_host:/path/to/source/ /path/to/destination/
반응형
'운영체제(OS)' 카테고리의 다른 글
리눅스 SSH 포트 변경 방법 (22번 → ) (0) | 2023.05.13 |
---|---|
윈도우 프로세스 핸들(Handle)이란? (0) | 2023.05.11 |
리눅스 SELinux란? 커널 보안 모듈 개념 (1) | 2023.05.08 |
윈도우 PC 최적화 하기 (MS PC Manager) (0) | 2023.04.29 |
맥북 화면 분할 방법 (앱 설치 X) (0) | 2023.04.26 |