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/foohostA/dest/foohostB당신은에 이러한 명령을 실행하는 것, 모든 하위 디렉토리를 포함하여 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.