SSH를 통해 대용량 디렉터리를 백업/동기화하는 가장 효율적인 방법

SSH를 통해 대용량 디렉터리를 백업/동기화하는 가장 효율적인 방법

최소한의 대역폭을 사용하여 매일 전용 서버의 일부 대규모 디렉터리를 다른 서버에 백업하고 싶습니다.

RSync가 작업을 검색하지만 어떤 명령 스위치가 가장 적합한지 잘 모르겠습니다.

SSH를 통해 선택한 여러 디렉터리를 다른 컴퓨터의 "백업" 디렉터리에 복사하고 싶습니다.

어떤 아이디어가 있나요?

답변1

--numeric-ids로컬 사용자에게 다시 매핑되지 않도록 파일의 uid/gid를 보존하려면 사용자 플래그를 사용하는 것이 더 낫다는 점을 추가하고 싶습니다 .

이 옵션은 기록 백업(예: YYYY-MM-DD daliy 디렉터리)을 유지하려는 경우에 --link-dest=DIR유용합니다 .

데이터(소스 코드, 일반 텍스트 파일, 로그)를 효율적으로 압축할 수 있으면 -z매우 편리합니다 .

그렇지 않으면 -aH대부분의 요구 사항이 충족됩니다.

답변2

다음을 시도해 보십시오(백업 서버에서):

rsync \
    -a \
    --bwlimit=100 \
    remote-server:"/path1 /path2 /path3" /local/backup_$(date +%Y%m%d_%H:%M)

--bwlimit=100거의 100KB/초를 나타냅니다.

당신은 그것을 사용할 수 있습니다하드 링크며칠 사이 에 cp -al디스크 공간을 많이 절약하고 rsync파일만 변경할 수 있습니다!

이것이 방법이다rsnapshot프로젝트.

답변3

rsyncrsyncd문제 없습니다. 하지만 rsync를 활용하려면 이러한 시스템 중 하나에서 실행해야 한다는 점을 명심하세요.변경 감지 알고리즘.

언급된 하드 링크 Sputnick에 관해서는 다음 사항에 관심이 있을 수도 있습니다.fdupes.

답변4

Rsync는 실제로 이 문제를 처리하는 데 적합한 하위 수준 도구입니다. rsync 옵션에 대해 걱정하지 마세요. 대신 전용 백업 도구를 사용하세요. 많은 옵션이 있습니다.스냅 사진귀하의 요구 사항(매우 명확하지 않음)이 기능을 충족하는지 확인하는 데 널리 사용되는 선택입니다.이중성rsync 라이브러리를 기반으로 하는 또 다른 백업 도구입니다.

관련 정보