- Rsync는 변경된 부분만 복사하고 권한을 유지하여 데이터를 효율적으로 동기화할 수 있도록 해주므로 로컬 및 원격 백업에 이상적입니다.
- rsync와 키를 결합하기 SSH cron에 예약된 작업을 사용하면 수동 개입 없이 안전한 백업을 자동화할 수 있습니다.
- --delete, --link-dest, --exclude, --dry-run과 같은 고급 옵션을 사용하면 전체 백업, 차등 백업 및 증분 백업을 세밀하게 조정하고 오류를 최소화할 수 있습니다.
- 좋은 계획 백업 rsync에는 복원 테스트, 백업 순환, 중요 데이터 암호화 및 모니터링 기능이 포함되어 있습니다. 로그 및 알림.

서버를 관리하거나 매일 관련 업무를 하신다면 Linux조만간 당신은 그것을 고려해야 할 것입니다. 생활을 복잡하게 만들지 않고 안정적인 백업을 자동화하는 방법바로 여기서 중요한 것이 등장합니다. rsync오랜 경험을 바탕으로 완성도 높은 이 도구는 빠르고, 점진적이며, 예약하기 쉬운 백업을 생성하는 데 완벽합니다. cron.
이 가이드에서는 빙빙 돌려 말하지 않고 자세하게 사용 방법을 설명합니다. rsync를 사용하여 로컬, 원격, 전체, 차등 및 증분 백업을 생성합니다.cron을 사용하여 모든 것을 자동화하는 방법, 비밀번호를 묻지 않고 SSH와 통합하는 방법, 피해야 할 일반적인 오류, 그리고 문제가 발생했을 때 예상치 못한 상황을 방지할 수 있는 모범 사례에 대해 알아보겠습니다.
rsync란 무엇이며, 백업에 왜 그렇게 많이 사용되는 걸까요?
Rsync는 명령줄 유틸리티입니다. 명령 파일과 디렉토리를 동기화하도록 설계되었습니다. 두 위치 간에는 동일한 컴퓨터, 서로 다른 서버 또는 Linux와 같은 서로 다른 시스템에 있을 수 있습니다. 유닉스 또는 macOS.
더 간단한 명령어에 비해 가지는 주요 장점은 다음과 같습니다. cp o scp 그거야? 원본과 대상의 내용을 모두 그대로 복사하는 것이 아니라, 변경된 부분만 복사합니다.이를 위해 양측을 비교하고 차이점만 전송하는 알고리즘을 적용하여 비용을 크게 절감합니다. 시간 복사 및 대역폭 사용량.
또한, rsync는 파일 시스템 메타데이터를 매우 잘 이해합니다.권한, 소유자, 그룹, 타임스탬프, 심볼릭 링크 또는 장치를 보존할 수 있으므로 시스템 수준 백업 및 서버 간 마이그레이션에 이상적입니다.
또 다른 장점은 다음과 같습니다. SSH를 통해 문제없이 작동합니다.이 프로토콜의 암호화 및 인증 기능을 계승합니다. 이를 통해 VPN이나 추가 서비스를 설정할 필요 없이, 이미 매일 사용하고 있는 SSH 접속을 활용하여 안전한 원격 백업 시스템을 구축할 수 있습니다.
Linux에 rsync 설치 및 검증

대부분의 현대 배포판에서는 rsync는 기본적으로 설치되어 있습니다.그렇긴 하지만, 항상 버전을 확인하고 필요한 경우 공식 저장소에서 패키지를 설치하거나 업데이트하는 것이 좋습니다.
rsync가 설치되어 있는지 확인하세요
데비안이나 레드햇 기반 배포판에서는 다음과 같이 간단한 작업을 수행할 수 있습니다.
rsync --version
명령어가 버전 정보를 반환하면 이미 사용 가능한 버전입니다. "명령어를 찾을 수 없습니다" 또는 이와 유사한 메시지가 표시되면, 패키지 관리자를 통해 설치해야 합니다..
Ubuntu, Debian 및 파생 배포판에 rsync를 설치하세요
Ubuntu 또는 Debian 계열 시스템에서는 다음과 같이 하면 됩니다.
sudo apt update
sudo apt install rsync
이렇게 하면 사용 중인 배포판에서 제공하는 버전을 얻을 수 있으며, 이는 충분합니다. 로컬 및 원격 백업, 그리고 cron을 이용한 자동화 대부분의 시나리오에서.
Red Hat, CentOS, Rocky Linux 및 유사한 운영 체제에 rsync를 설치하세요.
Red Hat, CentOS, Rocky Linux 또는 AlmaLinux 기반 환경에서는 다음을 사용할 수 있습니다.
sudo dnf install rsync
매니저 rsync가 설치되어 있지 않으면 설치하고, 이미 설치되어 있으면 업데이트를 확인합니다.이렇게 하면 소스와 대상 모두에서 최신 버전을 유지할 수 있습니다.
rsync의 기본 구문 및 가장 많이 사용되는 옵션
명령어의 일반적인 형식은 매우 간단하지만, 경로와의 혼동을 피하기 위해 구문을 숙지해 두는 것이 좋습니다.
rsync ORIGEN DESTINO
SSH를 통해 원격 서버와 동기화하려면 대상 또는 소스 경로의 표기법만 변경하면 됩니다.
rsync /ruta/local usuario@servidor:/ruta/remota
약 꾸준히 사용하게 될 기본적인 옵션들 위치 :
-a: 파일 모드. 여러 옵션을 그룹화합니다(-r,-l,-p,-t,-g,-o,-D)에 대한 하위 디렉터리를 탐색하고 권한, 소유자, 그룹, 시간, 링크 및 장치를 유지합니다..-v상세 모드: 복사되는 내용을 보여줍니다. 이해하는 데 유용합니다. rsync는 각 실행마다 무엇을 하는가?.-z데이터 전송 중에 데이터를 압축합니다. 속도가 느리거나 혼잡한 링크에서 대역폭을 절약하세요.--progress파일 전송의 실시간 진행 상황을 보여줍니다.--delete대상 위치에서 소스 위치에 더 이상 존재하지 않는 파일을 삭제하고, 소스 위치에 있는 파일은 유지합니다. 정확한 복제.--exclude: 허용합니다 파일 또는 디렉터리 제외 예를 들어 패턴에 따라--exclude="*.log"o--exclude="tmp/".-e ssh: 원격 셸을 지정합니다(일반적으로) 안전한 백업을 위한 SSH목적지를 사용할 때는 일반적으로 암묵적으로 적용됩니다.usuario@host:하지만 명확하게 말할 수는 있습니다.--dry-run: 시뮬레이션 모드로, 아무것도 복사하거나 삭제하지 않으면 어떤 일이 발생하는지 보여줍니다. 실제 사용 전에 명령어를 테스트하기에 완벽합니다..--log-file=/ruta/log실행 세부 정보를 감사 또는 진단을 위해 로그 파일에 기록합니다.
rsync의 첫 번째 실제 예제
rsync의 동작 방식을 완전히 이해하려면 직접 시청하는 것이 가장 좋습니다. 로컬 및 원격 환경에서의 간단한 예시 그리고 몇 가지 핵심 옵션이 미치는 영향을 관찰해 보세요.
디렉토리를 로컬로 복사합니다
대표적인 예로는 동일 서버 내에서 디렉터리를 복제하는 경우가 있습니다.
rsync -av /origen/ruta/ /destino/ruta/
해당 명령은 내용을 복사합니다. /origen/ruta/ a /destino/ruta/메타데이터를 보존합니다. 출처 끝에 슬래시(/)가 붙어 있는 것을 확인하세요. 이는 디렉터리 내용을 동기화하려는 것을 나타냅니다. 디렉토리 자체가 아니라요.
SSH를 통해 원격 서버와 동기화합니다.
데이터를 다른 서버로 안전하게 전송하려면 사용자 이름, 서버의 IP 주소 또는 도메인, 그리고 원격 경로를 입력하기만 하면 됩니다.
rsync -avz /local/dir/ [email protected]:/backup/remote/dir/
선택 -z 옵션은 압축을 추가합니다.이 기능은 속도가 느리거나 지연 시간이 긴 네트워크에서 매우 유용합니다. 이미 SSH 접속 권한이 있는 경우, rsync는 별도의 설정 없이 해당 권한을 직접 사용합니다.
실행 전에 `-dry-run` 옵션을 사용하여 테스트하십시오.
섬세한 옵션을 사용하기 전에 --delete시뮬레이션을 실행하는 것은 매우 합리적입니다.
rsync -avz --dry-run /local/dir/ usuario@remoto:/destino/
이렇게 하면 실제로 데이터를 건드리지 않고도 어떤 파일이 복사, 업데이트 또는 삭제될지 확인할 수 있습니다. 명령을 미세 조정할 때 훌륭한 안전망 역할을 합니다..
두 디렉터리를 1:1로 복제합니다.
삭제된 내용을 포함하여 대상 파일이 원본 파일과 완전히 동일한 복사본이 되도록 하려면 다음 명령어를 사용할 수 있습니다.
rsync -av --delete /fuente/ /destino/
이것으로 출발점에서 사라지는 모든 것은 결국 목적지에서 지워질 것이다.원본에 충실한 복제품을 만들고자 할 때 이상적이지만, 사용 시 주의해야 합니다.
rsync를 사용한 복사 유형: 전체 복사, 차등 복사, 증분 복사
기본 사항을 숙달했다면 백업 모델을 이해하는 것이 중요합니다. rsync를 사용하면 백업 모델을 구현할 수 있습니다. 전체, 차등 및 증분 백업 별도의 도구 없이도 가능하지만, 다음과 같은 대안들을 알아두는 것도 유용합니다. Linux에서 Resty 사용법 배우기.
rsync를 사용한 전체 복사
전체 복사는 하위 폴더를 포함하여 소스 디렉터리의 모든 파일을 대상 디렉터리로 전송합니다.
rsync -a /ruta/al/directorio/fuente/ /ruta/al/directorio/destino/
이는 일반적으로 처음 백업을 설정할 때 사용하는 패턴입니다. 그 이후로는 후속 실행 시 변경 사항만 복사됩니다.하지만 개념적으로는 목적지가 출발점에 대한 완전한 그림을 제공한다는 점에서 여전히 "완전한" 상태를 유지합니다.
삭제 옵션을 사용한 차등 복사
삭제된 파일을 포함하여 원본의 현재 상태를 대상에 정확하게 반영하려면 다음을 추가할 수 있습니다.
rsync -a --delete /ruta/al/directorio/fuente/ /ruta/al/directorio/destino/
선택 삭제 옵션을 사용하면 대상 위치가 밀리미터 단위까지 동기화된 상태로 유지됩니다. 원본과 함께 저장됩니다. 새로 생성되거나 수정된 파일만 전송되고, 원본에 더 이상 존재하지 않는 파일은 대상에서 삭제되어 연속적인 차등 복사 방식으로 작동합니다.
-link-dest 옵션을 사용한 증분 복사
공간을 더욱 절약하려면 다음을 사용할 수 있습니다. 하드 링크를 기반으로 한 증분 복사본 옵션을 사용하여 --link-dest.
이 아이디어는 다음과 같습니다. 이전 날짜의 데이터(예: 전날 데이터)가 있고, 이를 기반으로 새로운 일일 "스냅샷"을 만들고 싶다는 것입니다. 변경되는 블록만 물리적으로 저장됩니다.변경되지 않은 파일은 이전 사본에 대한 링크로 표시됩니다.
일반적인 명령어는 다음과 같습니다.
rsync -a --link-dest=/backups/dia-anterior/ /datos/ /backups/hoy/
따라서 /backups/hoy/ 새로 작성되거나 수정된 데이터만 기록되고, 나머지 파일은 이전 백업에 대한 링크로 유지됩니다.
저장 공간을 많이 절약하면서도 완벽한 스냅샷을 보는 듯한 느낌을 잃지 않습니다. 날마다
rsync를 사용한 수동 백업 구성
개념을 넘어 조립 방법을 아는 것이 매우 중요합니다. 구체적인 경로를 포함한 실제 백업 사례로컬 디스크뿐 아니라 외부 디스크 또는 원격 서버에도 저장할 수 있습니다.
개인 디렉토리를 백업하세요
복사본을 만들고 싶다고 상상해 보세요. /home/usuario/ 마운트된 디스크를 향해 /mnt/disco_backup:
rsync -av /home/usuario/ /mnt/disco_backup/
이 명령 권한, 소유자, 그룹 및 시간을 유지합니다.또한 외장 드라이브의 내용을 홈 디렉터리와 동기화 상태로 유지합니다.
시스템 구성 백업
서버 설정 시 발생할 수 있는 문제를 방지하기 위해 복사해 두는 것이 좋습니다. /etc/ 로컬 또는 원격 경로로:
rsync -avz /etc/ usuario@servidor-remoto:/backup/etc/
그렇게 하면 항상 하나를 갖게 될 거예요. 최근 구성 파일 스냅샷빠른 복원이나 업데이트 후 변경 사항 비교에 매우 유용합니다.
/home의 전체 원격 백업
다중 사용자 서버에서 흔히 발생하는 시나리오는 모든 데이터를 복사하는 것입니다. /home/ 다른 기계로:
rsync -avz --delete /home/usuario/ usuario@servidor-remoto:/ruta/backup/
옵션으로 -delete 옵션을 사용하면 백업이 정확한 복제본이 됩니다.. 와 결합 -z 압축의 경우, 네트워크 속도가 그다지 빠르지 않더라도 적절한 전송 속도를 얻을 수 있습니다.
불필요한 파일과 디렉터리를 제외하세요
많은 프로젝트에서 모든 것을 복사하는 것은 의미가 없습니다. 로그, 임시 파일, 다운로드 가능한 종속성 등은 종종 불필요합니다. 이런 경우에는 다음 방법을 사용할 수 있습니다.
rsync -av --exclude='*.tmp' --exclude='node_modules/' /proyecto/ /backup/proyecto/
이런 식으로 중요한 것만 남기고 디스크를 불필요한 정보로 채우지 마세요. 쉽게 재생할 수 있는 것입니다.
비밀번호 없이 SSH를 통한 Rsync: 환경 준비
자동 백업 시스템이 진정으로 편리하려면 다음이 필요합니다. rsync는 매번 비밀번호를 묻지 않고 원격 서버에 연결할 수 있습니다.이를 달성하는 일반적인 방법은 SSH 공개 키 인증을 사용하는 것입니다.
소스 머신에서 SSH 키 쌍을 생성합니다.
백업을 실행할 서버에서 다음 명령을 실행하십시오.
ssh-keygen -t ed25519
프레스 엔터 버튼 모든 질문에는 기본값을 사용하십시오. 이렇게 하면 폴더에 개인 키와 공개 키가 생성됩니다. ~/.ssh/그 이 정보는 비밀번호 없이 원격 서버에서 사용자를 식별하는 데 사용됩니다..
공개 키를 백업 서버에 복사합니다.
키 쌍을 얻었다면 이제 남은 작업은 공개 키를 대상 서버로 복사하는 것뿐입니다.
ssh-copy-id [email protected]
대체 backup 그리고 사용자의 특정 사용자 이름과 서버에 대한 IP 주소가 표시됩니다. 비밀번호를 한 번 입력한 후에는, 키는 기록될 것입니다. ~/.ssh/authorized_keys 원격 서버에서.
비밀번호 없이 접속해 보세요
모든 것이 제대로 작동하는지 확인하려면 SSH를 통해 연결을 시도해 보세요.
비밀번호를 입력하라는 메시지 없이 바로 로그인하는 경우, rsync를 비대화형으로 사용스크립트 및 크론 작업에서 호출하기에 이상적입니다.
cron과 rsync를 사용하여 백업을 자동화하세요
rsync 명령어를 최적화하고 키 인증을 준비했다면, 다음 단계는 자연스러운 수순입니다. cron을 사용하여 실행을 자동화합니다. 수동으로 백업을 실행하는 것을 잊어버리세요.
cron에 대한 간단한 소개
cron 이것은 유닉스 시스템에서 사용되는 고전적인 작업 스케줄러입니다. 이를 통해 프로그램을 실행할 수 있습니다. 정해진 간격으로 명령 또는 스크립트가 실행됩니다. (매분, 매시간, 매일, 매주 등). 각 사용자는 예약된 작업이 담긴 자신만의 테이블을 가지고 있으며, 다음 명령어를 통해 접근할 수 있습니다.
crontab -e
응모작은 다음 형식을 따릅니다.
MIN HORA DIA-MES MES DIA-SEMANA comando-a-ejecutar
rsync를 사용하여 매일 백업을 예약하세요.
매일 복사본을 만들고 싶다고 가정해 봅시다. /var/backups/ 새벽 2시에 원격 서버로:
0 2 * * * rsync -avz /var/backups/ [email protected]:/mnt/servidor_backups/
crontab에 이 줄을 추가하면 처리가 됩니다. 매일 오전 2시에 수동 조작 없이 명령어가 실행됩니다.비밀번호가 필요 없는 SSH 인증 방식을 활용합니다.
더 복잡한 작업에는 스크립트를 사용하세요.
요구 사항이 증가함에 따라 로직을 캡슐화하는 것이 더 편리할 수 있습니다. 스크립트crontab의 한 줄에 모든 내용을 입력하는 대신, 예를 들어 다음과 같이 할 수 있습니다.
vi /usr/local/sbin/rsync_backup.sh
스크립트 안에는 다음과 같은 내용이 있을 수 있습니다.
#!/bin/bash
rsync -avz --delete /home/your_user/ [email protected]:/backups/home/ --log-file=/var/log/rsync-home.log
그다음 다음과 같이 실행 가능하게 만듭니다.
chmod +x /usr/local/sbin/rsync_backup.sh
그리고 crontab에 다음을 추가하면 됩니다.
0 23 * * * /usr/local/sbin/rsync_backup.sh
이런 식으로 백업 로직과 기존 로직을 명확하게 분리해야 합니다. 프로그래밍유지 보수 및 정화를 용이하게 합니다.
Rsync를 데몬으로 실행하여 비밀번호로 보호된 파일을 백업하는 방법
rsync와 SSH 조합이 일반적으로 가장 편리하지만, 다른 설정 방법도 있습니다. rsync 서버를 데몬으로 실행 SSH 키 대신 암호 파일을 사용하여 인증합니다.
일반적인 설정은 편집을 포함합니다. /etc/rsyncd.conf 예를 들어 데이터 모듈, 사용자, 그룹 및 읽기 전용 동작을 정의합니다.
pid file = /var/run/rsyncd.pid
uid = backup-user
gid = backup-user
read only = yes
path = /path/to/backup
list = yes
auth users = backup-user
secrets file = /etc/rsyncd.passwd
암호 파일은 다음과 같이 정의됩니다. /etc/rsyncd.passwd 다음과 같은 콘텐츠로:
backup-user:mi-pass-secreta
그리고 다음과 같은 것으로 보호됩니다:
chmod 0600 /etc/rsyncd.passwd
클라이언트 측에서는 다음을 사용할 수 있습니다.
rsync -a --password-file=/etc/rsyncd.passwd backup-user@source-server-ip::data /destino/path/$(date +%Y-%m-%d)/
이것이 바로 그것들이 생성되는 방식입니다. 날짜별로 정리된 백업 폴더실수로 인한 데이터 변경을 방지하기 위해 원본 서버에서는 데이터를 읽기 전용으로 유지합니다.
rsync를 이용한 백업을 위한 모범 사례 및 체크리스트
작동하는 백업 시스템을 구축하는 것은 좋지만, 오랫동안 문제없이 사용할 수 있는 제품을 만드세요. 몇 가지 기본적인 모범 사례를 따라야 합니다.
사본에 포함할 내용
백업할 항목을 생각할 때, 명백히 백업해야 할 문서에만 국한하지 마세요. 다음 항목들도 백업하는 것이 중요합니다.
- 중요 데이터: 데이터베이스애플리케이션 디렉토리, 고객 파일, 주문서 등
- 시스템 설정:
/etc/서비스 구성 파일, 가상 호스트 등 - 정적 파일이미지, 웹 콘텐츠, 멀티미디어 자료.
매우 민감한 데이터는 일반적으로 다음과 같습니다. 비즈니스 데이터와 구성의 조합왜냐하면 작업 환경을 신속하게 재구축할 수 있기 때문입니다.
백업 주파수
모든 데이터를 동일한 비율로 제시할 필요는 없습니다. 합리적인 규칙은 다음과 같습니다.
- 매우 민감한 데이터 (생산 데이터베이스, 청구 시스템): 매일 또는 몇 시간마다 복사본을 만듭니다.
- 변화가 중간 정도인 데이터중요도에 따라 매일 또는 매주 사본을 제공합니다.
- 거의 정적인 데이터 (보관 자료, 오래된 로그): 백업 빈도를 낮추거나 월별 스냅샷을 생성합니다.
rsync는 올바르게 설정되었을 경우 다음과 같은 기능을 제공한다는 점을 기억하세요. 빠른 증분 백업그러므로 만일의 사태에 대비하여 복사본을 더 자주 만들어 두는 것이 부족하지 않습니다.
여러 위치에서의 회전 및 보관
디스크 용량이 꽉 찰 때까지 복사본을 계속 쌓아두는 것은 의미가 없습니다. 일반적인 전략은 다음과 같습니다. 제한된 수의 사본을 유지하십시오 (예를 들어, 최근 7일 동안의) 항목을 선택하고 새 항목이 생성될 때마다 가장 오래된 항목을 삭제합니다.
또한 중요합니다 백업 파일을 여러 위치에 분산하세요.로컬 디스크, 원격 서버, 어쩌면 그 외의 것들 저장 클라우드에 저장하면 특정 물리적 위치에 의존하지 않아도 됩니다.
암호화 및 복제 방지
백업 파일에 민감한 데이터가 저장되어 있는 경우(이는 흔히 발생하는 일입니다), GPG와 같은 도구를 사용하여 암호화하거나 다른 곳에 저장하는 것을 고려해야 합니다. 암호화된 볼륨사무실에서 누군가가 디스크를 가져가서 아무 문제 없이 읽을 수 있다면 아무리 훌륭한 백업 정책을 세워도 소용이 없습니다.
작업 모니터링 및 로깅
아무런 경고 없이 실패하는 백업은 무용지물입니다. 중요한 것은 다음과 같습니다.
- 처형 과정을 기록하세요 로그 파일에서
--log-file. - 로그를 주기적으로 검토하십시오. 또는 알림 기능(이메일, 모니터링 등)을 통합할 수 있습니다.
- 주기적으로 복원력 테스트를 수행하십시오. 복사본이 실제로 사용 가능한지 확인하십시오..
rsync 사용 시 흔히 발생하는 실수와 이를 피하는 방법
rsync는 매우 안정적이지만, 최악의 순간에 문제를 일으키지 않도록 주의해야 할 몇 가지 일반적인 함정이 있습니다.
권한이 부족합니다.
가장 흔한 실수 중 하나는 다음과 같습니다. rsync를 실행하는 사용자에게 권한이 없습니다. 소스에서 읽거나 대상에서 쓸 수 있는 충분한 권한이 있어야 합니다. "권한 거부됨" 오류가 발생하는 경우 다음 사항을 확인하십시오.
- 해당 사용자는 복사하려는 트리에 대한 읽기 권한을 가지고 있습니다.
- 목적지 경로는 해당 사용자가 쓰기 권한을 가지고 있습니다.
- 필요할 경우 사용하세요
sudo원산지/현지 측에서.
원격으로 접속할 때는 사용 중인 SSH 사용자가 올바른지 확인하십시오. 목적지 경로에 대한 권한을 가지고 있습니다. (필요한 경우 구성합니다) sudo 거기도 마찬가지야).
상대 경로와 절대 경로, 그리고 경로 끝에 붙는 슬래시(/)에 대한 혼동
상대 경로는 특히 스크립트에서 오해를 불러일으킬 수 있습니다. 따라서 항상 상대 경로를 사용하는 것이 가장 좋습니다. "/"로 시작하는 절대 경로 명령이 실행되는 디렉토리에 따라 예상치 못한 상황이 발생하는 것을 방지하기 위해서입니다.
끝부분 막대에 관해서는 다음 사항을 기억하세요.
/origen/→ 해당 디렉터리의 내용을 복사합니다./origen→ 디렉터리 자체를 대상 위치로 복사합니다.
여기서 실수를 하면 이상하게 중첩된 경로가 생기기 쉽습니다. 원하는 동작을 신중하게 검토하십시오. 그리고 기대다 --dry-run 확인하다.
-delete 옵션의 위험한 사용
--delete 이는 매우 강력하고 유용한 옵션이지만, 대부분의 문제가 발생하는 부분이기도 합니다. 기본적으로 rsync에게 다음과 같이 지시하는 것입니다... 대상 위치에서 원본 위치에 없는 모든 항목을 삭제하세요.따라서 소스 경로에 오류가 있으면 백업 서버의 정상적인 폴더가 비워질 수 있습니다.
위험을 줄이려면:
- 명령어를 항상 테스트하세요
--dry-run제거하기 전에. - 출발지와 목적지 경로를 다시 한번 확인하세요.
- 매우 중요한 환경에서는 다음과 같이 선택할 수 있습니다. 모든 패스에서 -delete 옵션을 사용하지 마십시오.하지만 특정 작업에 한해서만 그렇습니다.
크기 및 제외 사항 관련 문제
대용량 백업의 경우, 크기 제한 옵션을 사용하여 복사본에 포함될 항목을 제한하는 것이 유용할 수 있습니다. --max-size o --min-size예를 들어, 10MB에서 100MB 사이의 파일만 복사하려면 다음과 같이 합니다.
rsync -av --min-size=10M --max-size=100M /origen/ /destino/
제외 패턴과 함께 사용하면 필터링이 가능합니다. 대용량 로그, 캐시 또는 임시 파일과 같은 불필요한 파일이를 통해 복사 및 복원이 더욱 쉬워집니다.
rsync가 빛을 발하는 실제 사용 사례
일반적인 예시 외에도, rsync는 속도, 유연성 및 단순성의 조합 덕분에 거의 대체 불가능한 여러 상황이 있습니다.
전자상거래 및 비즈니스 애플리케이션
Linux 서버에서 호스팅되는 온라인 상점, ERP 또는 CRM 시스템에서 rsync를 사용하면 다음과 같은 작업을 수행할 수 있습니다. (덤프를 사용하여) 데이터베이스와 정적 파일을 백업합니다. (제품 이미지, 고객 문서 등)을 백업 서버 또는 다른 데이터 센터로 옮겨 데이터 손실 가능성을 최소화합니다.
언론 매체, 블로그 및 뉴스 포털
멀티미디어 콘텐츠가 많고 게시글 수도 많은 사이트에서 rsync를 사용하면 다음과 같은 작업을 더 쉽게 수행할 수 있습니다.
- 정적 콘텐츠 디렉터리 동기화 서버 간 연결(예: 기본 서버와 백업 서버 간 연결).
- 주기적으로 복사합니다 데이터베이스 및 주요 파일 캡처 외부 저장소로.
변경된 항목만 전송하므로 이미지나 비디오의 양이 많더라도 백업 속도가 빠릅니다.
개발 환경 및 CI/CD
지속적 통합 및 지속적 배포 파이프라인에서 rsync는 다음과 같은 용도로 자주 사용됩니다.
- 소스 코드와 컴파일된 결과물을 동기화합니다. 스테이징 또는 프로덕션 서버로 전송합니다.
- 서버 팜 내 서로 다른 노드 간에 디렉터리를 복제합니다.
- 각 릴리스마다 전체를 다시 업로드할 필요 없이 애플리케이션에서 수정된 부분만 업데이트하세요.
빠른 속도, SSH 지원 및 권한 유지 기능이 결합되어 스크립트 및 DevOps 도구를 사용한 자동화에 매우 편리합니다.
이 모든 점을 고려하면 rsync는 파일 백업 및 동기화를 위한 만능 도구와 같습니다. 이 방법은 개인 폴더의 홈 백업에도, 운영 서버 그룹의 백업 전략에도 똑같이 효과적입니다.SSH 키, cron, 적절한 키 순환 관행, 정기적인 복원 테스트, 그리고 옵션 사용 시 상식을 함께 활용하면 더욱 효과적입니다. --delete무겁거나 복잡한 솔루션을 배포할 필요 없이 강력하고 유연하며 매우 견고한 백업 시스템을 구축할 수 있습니다.
바이트와 기술 전반에 관한 세계에 대한 열정적인 작가입니다. 나는 글쓰기를 통해 내 지식을 공유하는 것을 좋아하며 이것이 바로 이 블로그에서 할 일이며 가젯, 소프트웨어, 하드웨어, 기술 동향 등에 관한 가장 흥미로운 모든 것을 보여 드리겠습니다. 제 목표는 여러분이 간단하고 재미있는 방식으로 디지털 세계를 탐색할 수 있도록 돕는 것입니다.