> 파일 및 디렉토리 관리 > rsync-progress

rsync-progress: rsync 진행 상황 표시

`rsync-progress`는 `rsync` 명령어를 사용하여 파일 동기화 시 진행 상황을 시각적으로 표시하는 방법을 의미합니다. 일반적으로 `rsync` 명령어의 `--progress` 옵션을 활용하거나, 이를 포함하는 셸 스크립트 또는 별칭(alias)으로 사용됩니다. 대량의 파일을 전송할 때 현재 전송 상태, 남은 시간, 전송 속도 등을 파악하는 데 매우 유용합니다.

개요

`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` *자체*가 대상 디렉토리 안에 생성됩니다. 이 차이는 매우 중요하므로 주의해야 합니다.


동일 카테고리 명령어