Rsync: Windows 및 Linux에서의 데이터 동기화

Rsync는 대부분의 Unix 계열 시스템을 지원하며 Linux, Solaris, BSD에서 충분히 테스트되었습니다. 또한 cwRsync 및 Sync2NAS와 같이 Windows 플랫폼에서도 Rsync를 지원합니다.

rsync상해

1. Rsync란 무엇인가요?

(원격 동기화)는 LAN/WAN을 통해 여러 호스트 간에 파일을 빠르게 동기화할 수 있는 원격 데이터 동기화 도구입니다. Rsync는 소위 "Rsync 알고리즘"을 사용하여 로컬 호스트와 원격 호스트 간의 파일을 동기화합니다. 이 알고리즘은 두 파일의 전체 파일을 매번 전송하는 대신 각 파일의 다른 부분만 전송하므로 속도가 매우 빠릅니다.

Rsync는 원래 rcp를 대체하기 위한 도구였습니다. 현재 rsync.samba.org에서 관리하고 있으므로 rsync.conf 파일의 형식은 samba의 기본 설정 파일과 유사합니다. Rsync는 rsh 또는 ssh를 통해 사용할 수 있으며, 데몬 모드로도 실행할 수 있습니다. 데몬 모드로 실행하면 Rsync 서버는 873 포트를 열고 클라이언트의 연결을 기다립니다. 연결되면 Rsync 서버는 암호가 일치하는지 확인합니다. 암호 확인에 성공하면 파일 전송을 시작할 수 있습니다. 첫 번째 연결이 완료되면 전체 파일이 한 번 전송되며, 이후에는 증분 백업만 필요합니다.

Rsync는 대부분의 Unix 계열 시스템을 지원합니다., Solaris 및 BSD. 또한cwRsync, Sync2NAS와 같이 해당 플랫폼에 맞는 버전도 있습니다.

Rsync의 기본 기능은 다음과 같습니다.

  1. 전체 디렉토리 트리와 파일 시스템을 미러링하여 저장할 수 있습니다.
  2. 원본 파일 권한, 시간, 소프트웨어 및 하드 링크 등을 유지 관리하는 것이 쉽습니다.
  3. 설치에 특별한 권한이 필요하지 않습니다.
  4. 최적화된 프로세스, 높은 파일 전송 효율성
  5. rsh, ssh 및 기타 방법을 사용하여 파일을 전송할 수도 있고, 직접 소켓 연결을 사용할 수도 있습니다.
  6. 지원하다전염.

2. Rsync 동기화 알고리즘

Rsync가 파일을 매우 빠르게 동기화할 수 있는 이유는 "Rsync 동기화 알고리즘"이 백업해야 할 데이터를 매우 짧은 시간 안에 계산할 수 있기 때문입니다. Rsync의 동기화 알고리즘에 대한 설명은 다음과 같습니다.

유사한 파일 A와 B가 두 컴퓨터, 1번과 2번 사이에서 동기화되어야 하며, 1번은 파일 A에, 2번은 파일 B에 접근한다고 가정해 보겠습니다. 그리고 호스트 1과 2 사이의 네트워크 대역폭이 매우 작다고 가정해 보겠습니다. 그러면 rsync 알고리즘은 다음 다섯 단계를 거쳐 완료됩니다.

  1. 2번은 파일 B를 고정된 크기 S바이트의 겹치지 않는 데이터 블록 세트로 분할합니다. 마지막 블록은 S보다 작을 수 있습니다.
  2. 2번은 각 분할된 데이터 블록에 대해 두 가지 검사를 수행합니다. 하나는 32비트 롤링 약한 검사이고, 다른 하나는 128비트 MD4 강한 검사입니다.
  3. 2번은 이러한 검증 결과를 1번으로 전송합니다.
  4. 1번은 파일 A에서 크기 S의 모든 데이터 블록을 검색합니다(오프셋은 임의적일 수 있으며 S의 배수일 필요는 없습니다). 파일 B의 블록과 동일한 약한 체크섬과 강한 체크섬을 갖는 데이터 블록을 찾습니다. 롤링 체크섬 기능을 사용하면 이 작업을 빠르게 수행할 수 있습니다.
  5. 1번은 2번에 일련의 명령을 보내 2번에서 파일 A의 백업을 생성합니다. 여기서 각 명령은 파일 B가 재전송 없이 이미 특정 데이터 블록을 가지고 있다는 증거이거나, 파일 B의 어떤 데이터 블록과도 확실히 일치하지 않는 데이터 블록입니다.

3. Rsync 매개변수 설명

3.1 rsyncd.conf 구성 파일

전역 매개변수

파일에서 [module] 앞에 있는 모든 매개변수는 전역 매개변수입니다. 물론 전역 매개변수 부분에서 모듈 매개변수를 정의할 수도 있습니다. 이 경우, 매개변수 값은 모든 모듈의 기본값이 됩니다.

port: 백그라운드 프로그램에서 사용하는 포트 번호를 지정합니다. 기본값은 873입니다.

motd 파일: "motd 파일" 매개변수는 메시지 파일을 지정하는 데 사용됩니다.이 파일의 내용은 클라이언트에 표시됩니다. 기본적으로 motd 파일은 없습니다.

로그 파일: "로그 파일"은 syslog로 로그를 전송하는 대신 rsync 로그 파일을 지정합니다. 예를 들어 "/var/log/rsyncd.log"로 지정할 수 있습니다.

pid 파일: rsync의 pid 파일을 지정합니다. 일반적으로 "/var/run/rsyncd.pid"로 지정됩니다.

syslog 기능: rsync가 syslog에 로그 메시지를 보낼 때의 메시지 수준을 지정합니다. 일반적인 메시지 수준은 다음과 같습니다: uth, authpriv, , 데몬, ftp, kern, lpr, 메일, 뉴스, 보안, sys-log, 사용자, uucp, local0, local1, local2, local3, local4, local5, local6, local7. 기본값은 데몬입니다.

모듈 매개변수

주로 서버의 어떤 디렉토리를 동기화할지 정의합니다. 형식은 "[module]"이어야 합니다. 이 이름은 rsync 클라이언트에서 표시되는 이름으로, Samba 서버에서 제공하는 공유 이름과 유사합니다. 서버가 실제로 동기화하는 데이터는 경로로 지정됩니다. 필요에 따라 여러 모듈을 지정할 수 있습니다. 모듈에서 다음 매개변수를 정의할 수 있습니다.

설명: 모듈에 설명을 지정합니다. 이 설명은 모듈 이름과 함께 클라이언트가 모듈 목록을 가져오기 위해 연결할 때 표시됩니다. 기본적으로 설명은 정의되어 있지 않습니다.

경로: 이 모듈의 백업을 위한 디렉터리 트리 경로를 지정합니다. 이 매개변수는 필수입니다.

chroot 사용: "chroot 사용"을 true로 지정하면 rsync는 파일을 전송하기 전에 먼저 경로 매개변수에 지정된 디렉터리로 chroot합니다. 이렇게 하는 이유는 추가적인 보안을 확보하기 위한 것이지만, 루트 권한이 필요하고 외부를 가리키는 심볼릭 링크가 가리키는 디렉터리 파일을 백업할 수 없다는 단점이 있습니다. chroot의 기본값은 true입니다.

uid: 이 옵션은 모듈이 파일을 전송할 때 데몬이 가져야 하는 uid를 지정합니다. gid 옵션과 함께 사용하면 어떤 파일에 접근할 수 있고 어떤 권한을 가지고 있는지 결정할 수 있습니다. 기본값은 "nobody"입니다.

gid: 이 옵션은 이 모듈이 파일을 전송할 때 데몬이 가져야 하는 gid를 지정합니다. 기본값은 "nobody"입니다.

최대 연결 수: 서버 보호를 위해 이 모듈의 최대 동시 연결 수를 지정합니다. 제한을 초과하는 연결 요청은 알림을 받고 나중에 다시 시도됩니다. 기본값은 0이며, 제한이 없음을 의미합니다.

list: 이 옵션은 클라이언트가 사용 가능한 모듈 목록을 요청할 때 해당 모듈을 나열할지 여부를 지정합니다. 이 옵션을 false로 설정하면 숨겨진 모듈이 생성됩니다. 기본값은 true입니다.

읽기 전용: 이 옵션은 클라이언트의 파일 업로드 허용 여부를 설정합니다. true로 설정하면 모든 업로드 요청이 실패합니다. false로 설정하고 서버 디렉터리의 읽기 및 쓰기 권한이 허용되면 업로드가 허용됩니다. 기본값은 true입니다.

exclude: 공백으로 구분된 여러 파일 또는 디렉터리(상대 경로)를 지정하여 제외 목록에 추가하는 데 사용됩니다. 이는 클라이언트 명령에서 --exclude를 사용하여 패턴을 지정하는 것과 같습니다. 모듈은 제외 옵션을 하나만 지정할 수 있습니다. 하지만 이 옵션에는 보안 문제가 있다는 점에 유의해야 합니다. 클라이언트가 제외 목록을 우회할 가능성이 매우 높습니다. 특정 파일에 대한 접근을 차단하려면 uid/gid 옵션과 함께 사용하는 것이 가장 좋습니다.

제외 대상: 제외 패턴 정의가 포함된 파일 이름을 지정합니다. 서버는 이 파일에서 제외 목록 정의를 읽습니다.

include: 요구 사항을 충족하는 파일이나 디렉터리를 제외하지 않도록 지정하는 데 사용됩니다. 이는 클라이언트 명령에서 --include를 사용하여 패턴을 지정하는 것과 같습니다. include와 exclude를 조합하면 복잡한 제외/포함 규칙을 정의할 수 있습니다.

include from: include 패턴 정의가 포함된 파일 이름을 지정합니다. 서버는 이 파일에서 include 목록 정의를 읽습니다.

auth users: 이 옵션은 공백이나 쉼표로 구분된 사용자 이름 목록을 지정합니다. 이 사용자만 모듈에 연결할 수 있습니다. 여기에 설정된 사용자는 시스템 사용자와는 아무런 관련이 없습니다. "auth users"가 설정된 경우, 클라이언트의 모듈 연결 요청은 신원 확인을 위해 rsync에 의해 인증 요청(challenge)을 받습니다. 여기서 사용되는 인증 요청/응답 프로토콜입니다. 사용자 이름과 비밀번호는 "secrets file" 옵션으로 지정된 파일에 일반 텍스트로 저장됩니다. 기본적으로 비밀번호 없이(즉, 익명 모드) 모듈에 연결할 수 있습니다.

secrets 파일: 이 옵션은 사용자 이름:암호 쌍을 포함하는 파일을 지정합니다. 이 파일은 "auth users"가 정의된 경우에만 사용됩니다. 파일의 각 줄에는 사용자 이름:암호 쌍이 하나씩 포함됩니다. 일반적으로 암호는 8자를 초과할 수 없습니다. 기본 secures 파일 이름은 없으므로 파일 이름을 지정해야 합니다(예: /etc/rsyncd.passwd). 참고: 이 파일의 권한은 600이어야 합니다. 그렇지 않으면 클라이언트가 서버에 연결할 수 없습니다.

엄격 모드: 이 옵션은 비밀번호 파일의 권한을 모니터링할지 여부를 지정합니다. 옵션 값이 true이면 rsync 서버를 실행하는 사용자만 비밀번호 파일에 접근할 수 있으며 다른 사용자는 접근할 수 없습니다. 기본값은 true입니다.

호스트 허용: 이 옵션은 이 모듈에 연결할 수 있는 IP 클라이언트를 지정합니다. 클라이언트 모드 정의는 다음과 같은 형식으로 가능합니다.

단일 IP 주소(예: 192.167.0.1)

전체 네트워크 세그먼트(예: 192.168.0.0/24 또는 192.168.0.0/255.255.255.0)

여러 IP 또는 네트워크 세그먼트는 공백으로 구분해야 하며, "*"는 모든 호스트를 의미합니다. 기본적으로 모든 호스트가 연결될 수 있습니다.

호스트 거부: rsync 서버에 연결할 수 없는 컴퓨터를 지정합니다. 이는 호스트 허용 정의를 사용하여 정의할 수 있습니다. 기본적으로 호스트 거부 정의는 없습니다.

오류 무시: rsyncd가 전송 중 삭제 작업 실행 여부를 결정할 때 서버의 IO 오류를 무시하도록 지정합니다. 일반적으로 rsync는 IO 오류 발생 시 --delete 작업을 건너뛰어 일시적인 리소스 부족이나 기타 IO 오류로 인한 심각한 문제를 방지합니다.

읽을 수 없는 항목 무시: rysnc 서버가 사용자에게 접근 권한이 없는 파일을 완전히 무시하도록 지정합니다. 이 설정은 백업해야 하는 디렉터리에 백업 사용자가 가져가서는 안 되는 파일이 있는 경우에 유용합니다.

잠금 파일: 최대 연결 수 매개변수를 지원하는 잠금 파일을 지정합니다. 기본값은 /var/run/rsyncd.lock입니다.

전송 로깅: rsync 서버가 ftp 형식의 파일을 사용하여 다운로드 및 업로드 작업을 별도의 로그로 기록합니다.

로그 형식: 이 옵션을 사용하면 전송 로깅을 사용할 때 사용자가 로그 파일의 필드를 사용자 지정할 수 있습니다. 형식은 다음과 같습니다.다음과 같은 형식 지정자를 사용할 수 있습니다.

%h 원격 호스트 이름

%a 원격 IP 주소

%l 파일 길이(문자)

%p 이 rsync 세션의 프로세스 ID

%o 작업 유형: "send" 또는 "recv"

%f 파일 이름

%P 모듈 경로

%m 모듈 이름

%t 현재 시간

%u 인증 사용자 이름(익명의 경우 null)

%b 실제로 전송된 바이트 수

%c 파일을 보낼 때 이 필드는 파일의 체크섬을 기록합니다.

기본 로그 형식은 "%o %h [%a] %m (%u) %f %l"입니다. 일반적으로 각 줄의 머리말에 "%t [%p]"가 추가됩니다. 이 형식의 로그 파일 개수를 계산하기 위해 rsyncstats라는 Perl 스크립트도 소스 코드에 포함되어 있습니다.

timeout: 이 옵션을 사용하면 클라이언트가 지정한 IP 시간 제한을 무시할 수 있습니다. 이 옵션을 사용하면 rsync 서버가 충돌한 클라이언트를 영원히 기다리지 않도록 할 수 있습니다. 시간 제한은 초 단위이며, 0은 시간 제한이 정의되지 않았음을 의미하며, 이는 기본값입니다. 익명 rsync 서버의 경우 이상적인 값은 600입니다.

거부 옵션: 이 옵션을 사용하면 클라이언트가 이 모듈에서 사용할 수 없는 명령 매개변수 목록을 정의할 수 있습니다. 약어가 아닌 전체 명령 이름을 사용해야 합니다. 하지만 명령이 거부되면 서버는 오류 메시지를 보고하고 종료됩니다. 압축을 사용하지 않으려면 "dont compress = *"와 같이 설정해야 합니다.

압축 안 함: 전송 전 압축되지 않는 파일을 지정하는 데 사용됩니다. 기본값은 *.gz *.tgz *.zip *.z *.rpm *.deb *입니다. *. *.tbz

3.2 Rsync 명령

rsync 서버 구성이 완료되면 다음 단계는 클라이언트에서 rsync 명령을 실행하여 서버의 파일을 클라이언트로 백업하는 것입니다. rsync는 매우 강력한 도구이며, 명령에는 다양한 기능 옵션이 있습니다. 아래에서 옵션을 하나씩 분석하고 설명하겠습니다.

Rsync의 명령 형식은 다음 여섯 가지가 있습니다.

  1. rsync [옵션]... 소스 대상
  2. rsync [옵션]... SRC [사용자@]호스트:대상
  3. rsync [옵션]... [사용자@]호스트:소스 대상
  4. rsync [옵션]... [사용자@]호스트::소스 대상
  5. rsync [옵션]... SRC [USER@]HOST::DEST
  6. rsync [옵션]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

위의 6가지 명령 형식에 따라 rsync에는 6가지의 서로 다른 작업 모드가 있습니다.

  1. 로컬 파일을 복사합니다. 이 모드는 SRC 경로 정보와 DES 경로 정보에 콜론(:) 구분 기호가 하나만 포함되어 있을 때 활성화됩니다. 예: rsync -a /data /backup
  2. 원격 셸 프로그램(예: rsh, ssh)을 사용하여 로컬 컴퓨터의 내용을 원격 컴퓨터에 복사합니다. 이 모드는 DST 경로 주소에 콜론(:) 구분 기호가 하나만 포함되어 있을 때 활성화됩니다. 예: rsync -avz *.c foo:src
  3. 원격 셸 프로그램(예: rsh, ssh)을 사용하여 원격 컴퓨터의 내용을 로컬 컴퓨터로 복사합니다. 이 모드는 SRC 주소 경로에 콜론(:) 구분 기호가 하나만 포함되어 있을 때 시작됩니다. 예: rsync -avz foo:src/bar /data
  4. 원격 rsync 서버에서 로컬 머신으로 파일을 복사합니다. SRC 경로에 "::" 구분 기호가 포함되어 있으면 이 모드가 활성화됩니다. 예: rsync -av 루트@172.16.78.192::www/데이터백
  5. 로컬 컴퓨터에서 원격 rsync 서버로 파일을 복사합니다. 이 모드는 DST 경로 정보에 "::" 구분 기호가 포함되어 있을 때 활성화됩니다. 예: rsync -av /databack 루트@172.16.78.192::www
  6. 원격 컴퓨터의 파일을 나열합니다. rsync 전송과 유사하지만, 명령에서 로컬 컴퓨터 정보를 생략합니다. 예: rsync -v rsync://172.16.78.192/www

rsync 매개변수에 대한 구체적인 설명은 다음과 같습니다.

  • -v, --verbose 자세한 모드 출력
  • -q, --quiet 조용한 출력 모드
  • -c, --checksum 파일 전송 시 체크섬을 강제로 적용하려면 체크섬 스위치를 켭니다.
  • -a, --archive 아카이브 모드는 파일을 재귀적으로 전송하고 모든 파일 속성을 유지하는 것을 의미하며 -rlptgoD와 동일합니다.
  • -r, --recursive 하위 디렉토리를 재귀적으로 처리합니다.
  • -R, --relative 상대 경로 정보 사용
  • -b, --backup 옵션은 백업을 생성합니다. 즉, 대상에 동일한 파일 이름이 이미 있는 경우 이전 파일의 이름을 ~filename으로 변경합니다. --suffix 옵션을 사용하여 다른 백업 파일 접두사를 지정할 수 있습니다.
  • --backup-dir 백업 파일(예: ~filename)을 디렉토리에 저장합니다.
  • -suffix=SUFFIX는 백업 파일 접두사를 정의합니다.
  • -u, --update 업데이트만 수행합니다. 즉, DST에 이미 존재하고 백업할 파일보다 파일 시간이 이후인 모든 파일을 건너뜁니다. (업데이트된 파일은 덮어쓰지 않습니다.)
  • -l, --links 소프트 링크를 유지합니다.
  • -L, --copy-links 소프트 링크를 일반 파일처럼 처리합니다.
  • --copy-unsafe-links SRC 경로 디렉토리 트리 외부를 가리키는 링크만 복사합니다.
  • --safe-links SRC 경로 디렉토리 트리 외부를 가리키는 링크를 무시합니다.
  • -H, --hard-links 하드 링크를 유지합니다.
  • -p, --perms 파일 권한 유지
  • -o, --owner 파일 소유자 정보 유지
  • -g, --group 파일 그룹 정보 유지
  • -D, --devices는 장치 파일 정보를 유지합니다.
  • -t, --times 파일 시간 정보를 유지합니다.
  • -S, --sparse DST에서 공간을 절약하기 위해 스파스 파일을 특별히 처리합니다.
  • -n, --dry-run은 어떤 파일이 전송될지 보여줍니다.
  • -W, --전체 파일 증분 감지 없이 파일 복사
  • -x, --one-file-system 파일 시스템 경계를 넘지 않습니다.
  • -B, --block-size=SIZE 검증 알고리즘에서 사용하는 블록 크기입니다. 기본값은 700바이트입니다.
  • -e, --rsh=COMMAND는 데이터 동기화를 위해 rsh 또는 ssh를 사용하도록 지정합니다.
  • --rsync-path=PATH는 원격 서버에서 rsync 명령의 경로 정보를 지정합니다.
  • -C, --cvs-exclude CVS와 동일한 방법을 사용하여 전송하지 않으려는 파일을 자동으로 무시합니다.
  • --existing은 DST에 이미 존재하는 파일만 업데이트하고 새로 생성된 파일은 백업하지 않습니다.
  • --delete SRC에 없는 DST의 파일을 삭제합니다.
  • --delete-excluded 이 옵션으로 제외된 수신 측 파일도 삭제합니다.
  • --delete-after 전송이 완료된 후 삭제합니다.
  • --ignore-errors IO 오류가 발생하더라도 삭제합니다.
  • --max-delete=NUM 최대 NUM개의 파일을 삭제합니다.
  • --partial은 어떤 이유로든 완전히 전송되지 않은 파일을 유지하여 이후 재전송 속도를 높입니다.
  • --force 디렉토리가 비어 있지 않더라도 강제로 삭제합니다.
  • --numeric-ids 숫자형 사용자 및 그룹 ID를 사용자 및 그룹 이름으로 일치시키지 않습니다.
  • --timeout=TIME IP 시간 초과(초)
  • -I, --ignore-times 동일한 시간과 길이의 파일을 건너뛰지 않습니다.
  • --size-only 파일을 백업할지 여부를 결정할 때 파일 시간은 고려하지 않고 파일 크기만 살펴봅니다.
  • --modify-window=NUM 파일의 시간이 동일한지 여부를 판별하는 데 사용되는 타임스탬프 창입니다. 기본값은 0입니다.
  • -T --temp-dir=DIR DIR에 임시 파일을 생성합니다.
  • --compare-dest=DIR 또한 DIR에 있는 파일을 비교하여 백업이 필요한지 여부를 결정합니다.
  • -P는 --partial과 동일합니다.
  • --progress 백업 진행률 표시
  • -z, --compress는 전송 중에 백업 파일을 압축합니다.
  • --exclude=PATTERN은 전송할 필요가 없는 파일의 패턴을 지정합니다.
  • --include=PATTERN은 제외되지 않고 전송되어야 하는 파일 패턴을 지정합니다.
  • --exclude-from=FILE FILE에서 지정된 패턴을 가진 파일을 제외합니다.
  • --include-from=FILE FILE에서 지정한 패턴과 일치하는 파일을 제외하지 않습니다.
  • --version 버전 정보 출력
  • --address 특정 주소에 바인딩
  • --config=FILE은 기본 rsyncd.conf 파일 대신 다른 구성 파일을 지정합니다.
  • --port=PORT는 다른 rsync 서비스 포트를 지정합니다.
  • --blocking-io 원격 셸에 대한 차단 IO 사용
  • -stats는 특정 파일의 전송 상태를 알려줍니다.
  • --progress 전송 중 전송 진행 상황을 표시합니다.
  • --log-format=formAT 로그 파일 형식을 지정합니다.
  • --password-file=FILE 파일에서 비밀번호를 가져옵니다.
  • --bwlimit=KBPS I/O 대역폭 제한(초당 KB)
  • -h, --help 도움말 정보를 표시합니다.

liunx에서 rsync 구성

Rsync 3.2.4가 출시되었습니다

2022년 4월 15일

Rsync 버전 3.2.4가 출시되었습니다. 버그 수정 및 몇 가지 기능 향상을 포함한 또 다른 일반적인 릴리스입니다. 또한 번들로 제공되는 zlib 1.2.8도 포함되어 있습니다. 보안 수정 사항 특정 빌드 구성에서 사용될 수도 있고 그렇지 않을 수도 있습니다.

알아채다:이제 있다"-pedantic-errors"가 적용될 때 "signed char"에 대한 구성 확인 오류를 수정하는 패치입니다. 이 패치는 "char"가 기본적으로 "unsigned char"로 설정되는 시스템(예: ARM 시스템)에서 작동하며, rsync 알고리즘의 효율성을 최대로 높입니다(패치가 없으면 일치하는 로컬 데이터를 찾는 것보다 더 많은 문자 데이터를 전송하게 됩니다).

또한 참조3.2.4 뉴스 자세한 변경 사항을 확인하세요. 최신 매뉴얼 페이지는 다음 위치에서도 확인할 수 있습니다.

소스 tarball은 여기에서 다운로드할 수 있습니다. rsync-3.2.4.tar.gz (징후"패치" 디렉토리의 tarball은 별도의 파일에 배포됩니다. rsync-패치-3.2.4.tar.gz (징후버전 3.2.2의 차이점은 여기에서 확인할 수 있습니다. rsync-3.2.3-3.2.4.diffs.gz (징후).

rsync 서버 구성

  • rsync를 간단히 설치하세요
  • Vim etc/rsyncd.conf 설정 파일을 수정하세요.

uid=루트

gid=루트

최대 연결 수=4

chroot=no를 사용하세요

로그 파일=/var/log/rsyncd.log

pid 파일=/var/run/rsyncd.pid

잠금 파일=/var/run/rsyncd.lock

비밀 파일=/etc/rsyncd.pwd

호스트 허용 = 10.10.0.200

호스트 거부 = 0.0.0.0/0

 

[오아]

경로=/home/sxit/appbak

주석 = 백업 파일

오류 무시

읽기 전용 = 아니요

목록 = 예

인증 사용자 = 루트

  • pwd 파일을 생성하고 파일 권한을 수정합니다.

Vim rsyncd.pwd

루트:비밀번호

Chmod 600 rsyncd.pwd

  • /usr/bin/rsync –daemon --config=/etc/rsyncd.conf를 시작하려면 루트 권한이 필요할 수 있습니다.

(서비스가 슈퍼 데몬에 의해 시작되었는지 아니면 독립 프로세스인 Service xinetd start / service rsyncd start에 의해 시작되었는지 확인하려면 /etc/init.d/rsyncd 및 /etc/xinetd.d/rsync 파일을 확인하세요)

Rsync10.10.0.200 클라이언트 구성

  • 비밀번호를 저장할 파일을 만듭니다

Vim /etc/rsyncd.pwd

비밀번호

Chmod 600 rsyncd.pwd

  • 서버 데이터 동기화 /usr/bin/rsync –vazp –progress –password-file=/etc/rsyncd.pwd 루트@10.10.1.3::oa /home1/sxit/appbak (로컬 저장소 디렉토리)
  • 이 명령을 계획에 넣고 정기적으로 실행할 수 있습니다.

Vim /etc/crontab

01 04 * * * 루트 /usr/bin/rsync -vzau --진행 --암호 파일=/etc/rsyncd.pwd 루트@10.10.1.3::oa /home1/sxit/appbak

rsync존재하다창문구성 아래

Rsync 서버 구성

  • rsync 설치

rsync 공식 사이트:
https://rsync.samba.org/

[윈도우즈 RSYNC ]

https://itefix.net/dl/free-software/cwrsync_6.2.4_x64_free.zip

https://itefix.net/dl/free-software/cwrsync_5.5.0_x86_free.zip

선택하다 E:\cwRsyncServer, 참고: rsync는 Windows에서 cgywin을 위한 래퍼입니다.
설치하는 동안 Rsync는 다음을 수행합니다.
a. 새 사용자 SvcwRsync를 생성하고 이 사용자를 관리자로 지정합니다. 비밀번호가 생성됩니다.
b. 설치 디렉터리 E:\cwRsyncServer의 권한을 설정합니다. 권한을 직접 변경하지 마십시오.
c. RsyncServer 서비스 생성

하위 버전에서는 위의 단계를 수동으로 수행해야 할 수 있으며, 아래에 표시된 대로 서비스를 수동으로 생성해야 할 수도 있지만, 여기에서는 설치 프로그램의 세 단계가 모두 이미 완료되었습니다.
cygrunsrv.exe -I "Rsync" -p /cygdrive/d/cwRsyncServer/bin/rsync.exe -a "--config=/cygdrive/d/cwRsyncServer/etc/rsyncd.conf --daemon --no-detach"
-f "Rsync" -u 관리자 -w 123456

  • 구성 파일 conf를 수정하세요

chroot = false를 사용하세요

엄격한 모드 = 거짓

호스트 허용 = 10.10.1.3

로그 파일 = rsyncd.log

pid 파일 = rsyncd.pid

비밀 파일 = /cygdrive/e/cwRsyncServer/etc/rsyncd.txt

 

# 모듈 정의

# Cygwin 명명 규칙을 기억하세요: c:\work는 /cygwin/c/work가 됩니다.

#

[우편]

경로 = /cygdrive/d/MDaemon/Users

읽기 전용 = 거짓

오류 무시

인증 사용자 = 루트

전송 로깅 = 예

  • 계정을 생성하고 권한을 할당하세요

구성 파일에서 루트 계정을 사용하므로 새 루트 계정을 만들고 암호를 구성하고 루트 계정을 관리자 그룹에 추가하고 d/MDaemon/Users에서 루트 계정에 전체 제어 권한을 부여해야 합니다.

  • txt 파일을 만듭니다

루트:비밀번호

  • 서비스를 시작하세요

서비스에서 rsyncserver 서비스를 시작하고 자동으로 시작되도록 설정하세요. 정상이라면 873번 포트가 수신 대기 중인 것을 확인할 수 있습니다.

Rsync 클라이언트 구성

  • 새로운 비밀번호 저장 파일을 만듭니다

Vim /etc/rsync.pwd

비밀번호

Chmod 600 rsync.pwd

2./usr/bin/rsync –auv –progress –password-file=/etc/rsync.pwd 루트@10.10.3.1::mail /home/maiusers (매개변수 Z 없이는 연결할 수 있지만 파일을 전송할 수 없음)

점수

댓글남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다