실시간 백업 프로그램 lsynd 관련 정리

설정파일 구문오류 체크하기
#lsyncd -nodaemon /etc/lsyncd.conf

파일 실시간 동기화할때 재부팅으로 전체가 다시 시작하는 경우 빠르게 처리 할 수 있는 설정

 

#vi lsyncd.conf

1. 원격 백업 설정
sync {
    default.rsync,
    source="/home",
    target="A",
    exclude={'/temp'},//위 source를 기준으로 입력한다
    delay = 10,
    rsync = {
        archive = true,
        compress = false, //로칼에서 백업시 압축하지 않는게 빠르다
        whole_file = false,
        acls = true,
        verbose = true,
        _extra = { "--size-only", "--update" }, // size나 수정일에 대해서만 체크한다.
        rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"  //port와 ssh접속에 문제 없다면 생략가능
    }
}

 

2. 로칼 백업 설정

sync {
    default.direct,
    source="/home/user",
    target="/backup/user",
    exclude={'/thumbs','/thumbs2'},
    rsync = {
        archive=true,
        compress = false,
        whole_file = true,
        acls = true,
        verbose = true,
        _extra = { "--size-only", "--update" }
    }
}

 

위에 사용된 옵션 설명

1. archive = true
의미: 아카이브 모드(-a 옵션)를 사용합니다.
상세: 리눅스 파일의 거의 모든 속성을 유지하며 복사합니다. 여기에는 하위 디렉토리 재귀 복사(-r), 심볼릭 링크 유지(-l), 권한 유지(-p), 타임스탬프 유지(-t), 그룹(-g) 및 소유자(-o) 정보 유지가 포함됩니다. 가장 기본적이고 필수적인 옵션입니다.
2. compress = false
의미: 전송 시 압축을 하지 않습니다(-z 옵션 해제).
상세: 네트워크 대역폭이 충분하거나, 지금처럼 이미지 파일(이미 압축된 파일)을 옮길 때는 false로 두는 것이 좋습니다. 압축을 켜면 CPU 사용량만 늘어나고 전송 속도는 오히려 느려질 수 있기 때문입니다.
3. whole_file = false
의미: rsync의 '델타 전송(Delta Transfer)' 알고리즘을 사용합니다.
상세:
false일 때: 파일의 변경된 부분만 찾아내서 전송합니다. CPU 사용량은 늘어나지만 네트워크 전송량은 줄어듭니다.
true일 때: 파일이 조금만 바뀌어도 파일 전체를 다시 보냅니다.
운영 서버 팁: 네트워크가 매우 빠르고 CPU 부하를 줄여야 한다면 true가 유리하지만, 일반적으로 원격지 복사에서는 false가 네트워크 효율이 좋습니다.
4. acls = true
의미: ACL(Access Control Lists) 정보를 유지합니다(-A 옵션).
상세: 일반적인 리눅스 권한(rwx) 외에 더 복잡하게 설정된 확장 권한까지 그대로 복사합니다. 특정 사용자나 그룹에 별도로 부여된 권한이 있는 서버 환경이라면 이 옵션을 켜야 권한이 꼬이지 않습니다.
5. verbose = true
의미: 전송 과정을 상세하게 기록합니다(-v 옵션).
상세: 어떤 파일이 전송되고 있는지, 결과는 어떠한지 로그 파일(lsyncd.log)에 상세히 남깁니다. 처음 세팅하고 모니터링할 때 유용하지만, 파일 개수가 수백만 개라면 로그 파일이 너무 커질 수 있으니 안정화된 후에는 false로 바꾸기도 합니다.

 

 

lsyncd를 실행전 rsync로 전체 백업을 수행 후 에 해주면 좋다

- 전체
rsync -avP --delete --bwlimit=50000 root@10.0.0.1:/home/user /home/

 

명령어 옵션 설명
-a (archive): 권한, 소유자, 타임스탬프 등 모든 속성을 그대로 유지합니다.
-v (verbose): 어떤 파일이 복사되고 있는지 상세히 보여줍니다.
-P (progress/partial): 전송 진행률을 보여주고, 중간에 연결이 끊겨도 다시 실행하면 끊긴 지점부터 이어서 복사합니다. (2TB 작업 시 필수)
--bwlimit=50000: 전송 속도를 약 50MB/s로 제한하여 운영 서버의 네트워크 부하를 줄입니다.