웹사이트 검색

Rsync를 사용하여 Linux와 Windows 간에 파일을 동기화하는 방법


Linux와 Windows 간에 파일을 동기화하는 것은 특히 사용 가능한 도구에 익숙하지 않은 경우 어려워 보일 수 있습니다. 그러나 WSL(Linux용 Windows 하위 시스템)을 사용하면 이 프로세스가 훨씬 간단해집니다.

WSL을 사용하면 Windows에서 직접 Linux 환경을 실행할 수 있으므로 Rsync와 같은 강력한 Linux 도구를 사용하여 두 운영 체제 간에 파일을 동기화할 수 있습니다.

이 문서에서는 Rsync를 사용하여 WSL을 사용하여 Linux와 Windows 간에 파일을 동기화하는 전체 프로세스를 안내합니다. WSL 설정부터 자동 동기화를 위한 스크립트 작성에 이르기까지 모든 것을 다룹니다.

이 과정을 마치면 이 두 플랫폼에서 파일 동기화를 효율적으로 관리하는 방법을 명확하게 이해할 수 있습니다.

Rsync란 무엇입니까?

Rsync("remote synchronization"의 약자)는 두 위치 간에 파일과 디렉토리를 동기화하는 데 사용되는 명령줄 도구로, 매번 모든 것을 복사하는 대신 파일에 대한 변경 사항만 전송하기 때문에 매우 효율적이므로 큰 파일이나 많은 수의 파일을 동기화하는 데 이상적입니다.

WSL에서 Rsync를 사용하는 이유는 무엇인가요?

  • WSL을 사용하면 Windows에서 직접 Linux 명령 및 도구를 실행할 수 있으므로 Rsync를 더 쉽게 사용할 수 있습니다.
  • Rsync는 파일 간의 차이만 전송하므로 시간과 대역폭을 절약할 수 있습니다.
  • Linux 시스템과 Windows 시스템 간에 파일을 쉽게 동기화할 수 있습니다.
  • Rsync는 스크립트를 사용하여 자동화할 수 있으므로 정기적인 백업 또는 동기화 작업에 적합합니다.

필수 구성 요소

시작하기 전에 다음 사항이 있는지 확인하십시오.

  • WSL은 Windows 10 및 11 버전에서 지원됩니다.
  • Windows 머신에 WSL을 설치하고 설정해야 합니다.
  • Microsoft Store에서 Linux 배포판(예: Ubuntu)을 설치합니다.
  • Rsync는 일반적으로 Linux 배포판에 사전 설치되어 있지만 그렇지 않은 경우 설치 방법을 다룹니다.
  • Rsync는 SSH를 사용하여 시스템 간에 파일을 안전하게 전송합니다.

1단계: WSL 설치 및 설정

WSL을 아직 설치하지 않은 경우 Win + X를 누르고 "Windows PowerShell(관리자)"또는 "명령 프롬프트(관리자)"를 선택하여 관리자 권한으로 PowerShell을 열고 다음 명령을 실행하여 WSL을 설치합니다.

wsl --install

이 명령은 WSL 및 기본 Linux 배포(일반적으로 Ubuntu)를 설치합니다. 설치 후 컴퓨터를 다시 시작하여 설정을 완료하십시오.

컴퓨터가 다시 시작되면 시작 메뉴에서 설치된 Linux 배포판(예: Ubuntu)을 엽니다. 화면의 지시에 따라 사용자 계정을 만들고 암호를 설정합니다.

2단계: WSL에 Rsync 설치

Rsync는 일반적으로 대부분의 Linux 배포판에 사전 설치되어 있습니다. 그러나 설치되지 않은 경우 다음 명령을 사용하여 설치할 수 있습니다.

sudo apt update
sudo apt install rsync
rsync --version

그러면 설치된 Rsync 버전이 표시됩니다.

3단계: WSL에서 SSH 설정

WSL에서 SSH를 사용하도록 설정하려면 OpenSSH 서버를 설치해야 합니다.

sudo apt install openssh-server

다음으로, WSL을 시작할 때마다 SSH 서비스가 자동으로 시작되도록 시작하고 사용하도록 설정합니다.

sudo service ssh start
sudo systemctl enable ssh

SSH 서비스가 실행 중인지 확인합니다.

sudo service ssh status

4단계: Linux(WSL)에서 Windows로 파일 동기화

이제 Rsync 및 SSH가 설정되었으므로 파일 동기화를 시작할 수 있습니다. WSL 환경의 파일을 Windows 컴퓨터의 디렉터리로 동기화한다고 가정해 보겠습니다.

Linux 배포판(예: Ubuntu)을 실행하고 일반적으로 /mnt/ 아래에 마운트된 Windows 디렉터리를 식별합니다. 예를 들어, C: 드라이브는 /mnt/c/에 있습니다.

이제 다음 명령을 실행하여 WSL 디렉터리에서 Windows 디렉터리로 파일을 동기화합니다.

rsync -avz /path/to/source/ /mnt/c/path/to/destination/

명령에 대한 설명:

  • -a: 아카이브 모드(권한, 타임스탬프 및 심볼릭 링크 유지).
  • -v: 상세 모드(자세한 출력 제공).
  • -z: 전송 중에 데이터를 압축합니다.
  • /path/to/source/: 동기화하려는 WSL 환경의 디렉터리입니다.
  • /mnt/c/path/to/destination/: 파일을 동기화하려는 Windows 컴퓨터의 디렉터리입니다.

5단계: Windows에서 Linux(WSL)로 파일 동기화

Windows 디렉터리에서 WSL 환경으로 파일을 동기화하려면 다음과 유사한 명령을 사용할 수 있습니다.

rsync -avz /mnt/c/path/to/source/ /path/to/destination/

명령에 대한 설명:

  • /mnt/c/path/to/source/: 동기화하려는 Windows 컴퓨터의 디렉터리입니다.
  • /path/to/destination/: 파일을 동기화하려는 WSL 환경의 디렉터리입니다.

6단계: 스크립트로 동기화 자동화

동기화를 더 쉽게 하기 위해 bash 스크립트를 만들어 프로세스를 자동화할 수 있습니다.

nano sync.sh

스크립트에 다음 줄을 추가합니다.

#!/bin/bash
rsync -avz /path/to/source/ /mnt/c/path/to/destination/

파일을 저장하고 스크립트를 실행 가능하게 만듭니다.

chmod +x sync.sh

스크립트를 실행하여 파일을 동기화합니다.

./sync.sh

cron을 사용하여 특정 간격으로 실행되도록 스크립트를 예약할 수 있습니다. 예를 들어, 매일 오전 2시에 스크립트를 실행하려면 crontab에 다음 줄을 추가합니다.

0 2 * * * /path/to/sync.sh
결론

WSL과 함께 Rsync를 사용하는 것은 Linux와 Windows 간에 파일을 동기화하는 강력하고 효율적인 방법입니다. 이 문서에 설명된 단계를 따르면 Rsync를 쉽게 설정하고, SSH를 구성하고, 파일 동기화를 자동화할 수 있습니다.

관련기사: