개요
`rsync-progress`는 독립적인 명령어가 아니라, 강력한 파일 동기화 도구인 `rsync`의 `--progress` 옵션을 통해 전송 진행 상황을 보여주는 기능에 대한 일반적인 명칭입니다. 이 기능을 사용하면 파일 전송 중 현재 상태를 실시간으로 확인할 수 있어, 대용량 파일이나 다수의 파일을 동기화할 때 유용합니다.
주요 특징
`rsync`의 `--progress` 옵션을 통해 얻을 수 있는 주요 정보는 다음과 같습니다.
- 실시간 전송 진행률 (퍼센트)
- 현재 전송 중인 파일 이름
- 전송 속도 (예: MB/s)
- 남은 전송 시간
주요 옵션
`rsync-progress`는 `rsync` 명령어의 옵션을 활용합니다. 다음은 진행 상황 표시와 함께 자주 사용되는 `rsync` 옵션들입니다.
진행 상황 및 출력
동기화 동작
생성된 명령어:
명령어를 조합해 보세요.
설명:
`rsync-progress` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
설치
`rsync-progress`는 별도의 설치가 필요한 명령어가 아니며, `rsync` 명령어의 기능입니다. 대부분의 리눅스 배포판에는 `rsync`가 기본으로 설치되어 있지만, 만약 설치되어 있지 않다면 다음 명령어를 사용하여 설치할 수 있습니다.
Debian/Ubuntu
sudo apt update && sudo apt install rsync
APT 패키지 관리자를 사용하여 `rsync`를 설치합니다.
CentOS/RHEL
sudo yum install rsync
YUM 패키지 관리자를 사용하여 `rsync`를 설치합니다.
Fedora
sudo dnf install rsync
DNF 패키지 관리자를 사용하여 `rsync`를 설치합니다.
사용 예시
다음은 `rsync` 명령어와 `--progress` 옵션을 함께 사용하여 파일 동기화 진행 상황을 확인하는 다양한 예시입니다.
로컬 디렉토리 동기화 및 진행 상황 표시
rsync -avh --progress source_dir/ destination_dir/
현재 디렉토리의 `source_dir` 내용을 `destination_dir`로 동기화하면서 진행 상황을 표시합니다.
원격 서버로 파일 동기화 및 진행 상황 표시
rsync -avz --progress local_files/ user@remote_host:/path/to/remote_dir/
로컬의 `local_files/` 디렉토리를 원격 서버의 `user@remote_host:/path/to/remote_dir/`로 동기화하면서 진행 상황을 표시합니다.
`rsync-progress` 별칭(alias) 생성
alias rsync-progress='rsync -avh --progress'
자주 사용하는 `rsync` 옵션을 포함하여 `rsync-progress`라는 별칭을 생성하여 편리하게 사용할 수 있습니다. 이 별칭은 현재 셸 세션에서만 유효하며, 영구적으로 사용하려면 셸 설정 파일(예: `~/.bashrc`, `~/.zshrc`)에 추가해야 합니다.
별칭을 사용하여 로컬 동기화
rsync-progress /path/to/source/ /path/to/destination/
위에서 생성한 `rsync-progress` 별칭을 사용하여 로컬 디렉토리를 동기화합니다.
삭제 작업 시뮬레이션 및 진행 상황 표시
rsync -avh --progress --delete --dry-run source_dir/ destination_dir/
실제로 파일을 삭제하지 않고, `--delete` 옵션이 적용될 경우 어떤 파일이 삭제될지 `--dry-run`과 함께 확인합니다.
팁 & 주의사항
`rsync`와 `--progress` 옵션을 사용할 때 유용한 팁과 주의할 점입니다.
효율적인 옵션 조합
`--progress`는 `-v` (verbose)와 함께 사용하면 더 많은 정보를 얻을 수 있고, `-h` (human-readable)와 함께 사용하면 파일 크기를 쉽게 파악할 수 있습니다. `-a` (archive)는 대부분의 동기화 작업에서 권장되는 옵션입니다.
- `rsync -avh --progress source/ dest/` (가장 일반적이고 유용한 조합)
- `rsync -avz --progress source/ user@host:dest/` (원격 전송 시 압축 추가)
`--dry-run`의 활용
특히 `--delete`와 같은 파괴적인 옵션을 사용할 때는 항상 `--dry-run` 옵션을 먼저 사용하여 어떤 변경 사항이 발생할지 미리 확인하는 것이 좋습니다. 이는 예상치 못한 데이터 손실을 방지하는 데 매우 중요합니다.
네트워크 환경 고려
원격 서버로 전송 시 `--compress` (`-z`) 옵션은 네트워크 대역폭을 절약할 수 있지만, CPU 사용량이 증가할 수 있습니다. 네트워크 속도가 충분히 빠르다면 압축이 오히려 전송 시간을 늘릴 수도 있으므로, 환경에 따라 적절히 사용해야 합니다.
소스/대상 경로의 슬래시(`/`) 주의
소스 경로 끝에 슬래시(`source_dir/`)를 붙이면 `source_dir`의 *내용물*이 대상에 복사되고, 슬래시를 붙이지 않으면 (`source_dir`) `source_dir` *자체*가 대상 디렉토리 안에 생성됩니다. 이 차이는 매우 중요하므로 주의해야 합니다.