반응형
rsync는 파일이나 디렉터리를 로컬 및 원격에서 동기화 하는데 사용됩니다.
그래서 주로 백업을 할 때 많이 사용되는 명령어 입니다.
cp와의 차이점은 rsync는 source 와 destination 의 변경 사항을 확인 하고 자동으로 sync를 맞춰줍니다.
cp는 source에 있는 파일이나 디렉터리를 destination 에 덮어씌운다고 생각하시면 편합니다.
설치방법
yum or apt 를 사용하여 설치를 하면 됩니다.
ex) apt install -y rsync or yum install -y rsync
rsync 옵션 확인
-a: 동기화되는 파일의 권한, 소유권, 타임스탬프 및 기타 속성을 유지합니다. 정확한 복사본을 만드는데 사용됩니다. -v: rsync 명령어를 사용하여 sync를 맞추는 과정을 자세하게 출력 -z: 데이터 전송 중 압축을 하여 전송되는 데이터의 양을 줄일 수 있습니다. -r: 하위 폴더에도 적용 -n: 실제로 rsync 명령을 실행하지 않고 동기화 프로세스를 미리 볼 때 사용됩니다. --delete: 소스에 없는 파일을 대상에서 삭제하여 대상이 소스의 정확한 복제본인지 확인 --exclude: 특정 파일이나 디렉터리가 전송되지 않도록 제외
rsync 명령어 사용법
rsync [option] [source] [target]
crontab에 rsync 명령 shell을 등록해서 1분마다 Source와 Destination sync를 맞춰보도록 하겠습니다.
백업 과정
/data 디렉터리안에 있는 모든 파일을 로컬의 /backup 디렉터리에 백업 해보도록 하겠습니다.먼저 쉘 스크립트를 작성해줍니다.
# vim backup.sh#!/bin/bash # Source Directory 정의 SOURCE_DIRS=( "/data" ) # Destination Directory 정의 DESTINATION_DIR="/backup/gitlab" for SOURCE_DIR in "${SOURCE_DIRS[@]}"; do rsync -avh "$SOURCE_DIR" "$DESTINATION_DIR" done
이제 crontab에 등록만 해주면 됩니다.
crontab -e
* * * * * sh /root/backup.sh
그리고 crond 서비스를 재시작 해주어야 합니다.
# systemctl restart crond
결과
감사합니다.
반응형
'Linux' 카테고리의 다른 글
Ubuntu 유저 생성 및 sudo 권한 부여 (1) | 2024.06.04 |
---|---|
RHCSA 공부 3일차 (1) | 2024.04.20 |
NFS mount 오류 확인 및 해결 (Connection time out) (0) | 2024.04.16 |
RHCSA 공부 2일차 (0) | 2024.04.13 |
RHCSA 공부 1일차 (0) | 2024.04.04 |