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: 특정 파일이나 디렉터리가 전송되지 않도록 제외
/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