Linux에서 로컬 디렉토리를 원격 디렉토리와 동기화


14

파일이 몇 개있는 폴더와 웹 서버의 일부 공간이 있습니다. 리눅스에서 로컬 폴더와 원격 폴더 사이의 양방향 동기화를 수정 시간에하고 싶습니다. 어떻게해야합니까? btw 나는 서버에 아무것도 설치할 수 없으며 모든 의도와 목적을 위해 공간입니다.

참고 : 이미 rsa 키 페어가 설정되어있어 자동으로 발생할 수 있습니다.

답변:


12

단방향 동기화를위한 도구는 rsync이고 양방향 동기화를위한 도구는 Unison 입니다. 둘 다 실행 파일을 양쪽에서 사용할 수 있어야합니다. 서버 측에서 파일을 실행 가능하게 만들려면, 단일 바이너리를 삭제하고 실행 가능하게하십시오.

Linux, * BSD, Solaris 또는 Mac OS X이 로컬로있는 경우 FUSE 파일 시스템을 사용하여 웹 서버 공간을 로컬 파일 시스템으로 표시 할 수 있습니다. sshfs 는 ssh 액세스 권한이있는 것으로 보이므로 작동해야합니다. 그런 다음 "로컬"로 사용하십시오.

또한 대부분의 버전 제어 소프트웨어 (CVS / Subversion 및 분산 VCS)는 양방향 기능으로 동기화됩니다 (한 시스템에서 체크인하고 다른 시스템에서 체크 아웃).


4

서버에 설치되어 있으면 rsync정확히 해당 작업을 위해 빌드를 사용 하십시오.

양방향으로 가져 오려면 http://forums11.itrc.hp.com/service/forums/questionanswer.do?admit=109447626+1285799008594+28353475&threadId=1278777 에서 인용 하십시오 .

양방향 디렉토리를 동기화 /src/foo에 hostA에 /dest/foo에 hostB당신은에 이러한 명령을 실행하는 것, 모든 하위 디렉토리를 포함하여 hostA:

rsync -auz /src/foo hostB:/dest 
rsync -auz hostB:/dest/foo /src

첫 번째 명령에 새로운 모든 파일 밀어 hostA을을 hostB.

두 번째 명령에 새로운있는 모든 파일을 끌어 hostB로를 hostA. 중요한 옵션은 다음과 같습니다.

복사 할 때 파일 수정 시간을 유지해야합니다. -a이 작업과 다른 작업을 수행합니다.

수정 시간 만 유지하려면 -t대신 사용하십시오.

대상에서 최신 파일을 건너 뛰려면 다음과 -u같이하십시오.


내가 읽은 한 rsync는 양방향으로 작동하지 않으며 시도 할 때 "프로토콜 버전 불일치-쉘이 깨끗합니까?"라는 오류가 발생합니다.
— Andrew Redd

hostanswers.net/linux-hosting/rsync-protocol-version-mismatch 는 버전 불일치를 수정하는 데 도움이 될 수 있습니다. 양방향으로 인해 답변을 업데이트했습니다.
— tante

1
Rsync는 양방향 동기화에 전혀 적합하지 않습니다. 우선 충돌이 발생하면 경고하지 않습니다. 대신 Unison을 사용하십시오. 작업에 적합한 도구입니다.
— 질 'SO-정지 존재 악마'

1
서버 A가 서버 B에서 앞으로 나올 경우에는 끔찍하게 실패합니다. 필자의 경우 원격 서버보다 13 시간 앞서 있습니다.
— Tim Post

1

두 폴더 간 동기화가 필요할 때마다 rsync매우 유연한 선택입니다. 문제는 rsync가 ftp 프로토콜을 지원하지 않는다는 것입니다. 이에 대한 좋은 해결 방법은 curlFtpFS입니다 .

CurlFtpFS는 FUSE 및 libcurl을 기반으로 FTP 호스트에 액세스하기위한 파일 시스템입니다.

curlFtpF를 사용하면 파일 시스템에 원격 ftp 폴더를 포함시키는 것이 매우 쉽습니다.

다음은 두 도구의 사용법을 보여주는 간단한 예입니다.

curlftpfs -r -s ftp.foobar.com /foo
rsync -a /foo/ /bar
umount /foo

자세한 내용은 맨 페이지를 읽으십시오.

curlFtpFS를 설치하려는 노력을 원하지 않고 일부 파일을 동기화 상태로 유지하려면 이러한 동기화 기능을 제공하는 많은 ftp 도구가 있습니다.

  • FTPSync.pl- 로컬 및 원격 디렉토리를 동기화 상태로 유지하는 간단한 PERL 스크립트
  • weex- 웹 페이지 업데이트를위한 비 대화식 FTP 클라이언트
  • filezilla- 많은 기능을 갖춘 GUI FTP 클라이언트
  • ...

1. Rsync는 양방향 동기화에 좋지 않습니다 . 대신 Unison을 사용하십시오. 2. FTP는 어디에서 왔습니까? 질문에 RSA 키에 대한 언급은 오히려 ssh를 제안합니다 (따라서 sshfs).
— Gilles 'SO- 악마 그만'

당신은 옳습니다, FTP는 질문에 언급되지 않았습니다. 솔직히 말해서 그것이 "웹 공간"과 "단지 공간"의 조합이라고 생각합니다. 어제 약간의 피로.
— echox
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.