rsync를 사용하여 원격 서버 파일을 점진적으로 동기화하는 것을 잊지 마세요.
rsync 원격 셸은 데이터를 점진적으로 동기화합니다
rsync를 사용하여 파일을 동기화하는 방법에는 두 가지가 있습니다. 하나는 데몬 방식(rsync 데몬)이고 다른 하나는 원격 셸 방식(rsync 원격 셸)을 사용하는 것입니다.
두 방법의 차이점
데몬 모드에서는 TCP를 통해 원격 rsync 데몬에 연결하는 방법입니다. 구성 파일을 사용하고 데몬 프로세스를 활성화해야 합니다.
<code>rsync [OPTION] user@host::src dest rsync [OPTION] src user@host::dest</code>
원격 셸 방식, 이 방식에서는 구성 파일이나 데몬 프로세스를 사용할 필요가 없습니다.
<code>rsync [OPTION] user@host:src dest rsync [OPTION] src user@host:dest</code>
데몬 방식은 구성 파일과 데몬 프로세스 설정이 너무 번거로워서 다음과 같이 동기화를 위해 원격 쉘 방식을 선택했습니다.
<code> rsync -avr --delete yanruitao@123.123.123.123:/export/test/htdocs/files/ /export/test/htdocs/files/</code>
매개변수 avr --delete는 각각
을 나타냅니다.<code>-a 归档(archive)模式,以递归方式传输文件,并保持文件属性 -v 输出同步的详细信息(verbose) -r 对子目录进行递归模式处理(recursive) --delete 删除源(SRC)中没有目标(DST)中有的文件</code>
모든 것이 정상이라면 위의 동기화 명령을 실행하면 원격 컴퓨터에서 yanruitao 사용자의 비밀번호를 입력하라는 메시지가 표시됩니다(처음에는 관계를 설정할 것인지 묻는 메시지가 표시됩니다(아마도 , 세부 사항을 잊어 버렸습니다), Enter를 누르십시오), 실행 완료 후 규칙에 따라 동기화됩니다.
그런데 문제가 있습니다. 매일 2시에 증분 동기화를 수행하고 싶은데 이때 비밀번호를 입력할 수 없습니다. 두 대의 기계
두 머신 간의 신뢰 관계 구축
신뢰 관계를 구축하기에 앞서 공개키와 개인키를 기반으로 한 암호화와 인증에 대해 살펴보겠습니다
개인 키 서명 프로세스
아래 사진은 도난당한 사진입니다. ㅎㅎ 인증 과정을 이해하기 위해 이 사진을 활용하면 딱 맞습니다:
<code>消息-->[私钥]-->签名-->[公钥]-->认证 私钥数字签名,公钥验证</code>
- Alice는 공개 키와 개인 키를 생성하고 공개 키를 Bob에게 보냅니다.
- Alice는 개인 키를 사용하여 암호화라는 서명을 생성합니다.
- Alice는 서명된 정보를 Bob에게 보냅니다.
- Bob은 Alice의 공개 키를 사용하여 서명의 진위 여부를 해독하고 확인합니다.
공개키 암호화 과정
아래 사진도 도난당했습니다(사진이 있으면 이해하기 쉽습니다). 다음은 대칭키 기술을 통해 앨리스가 밥에게 정보를 보내는 모습입니다.
<code>消息-->[公钥]-->签名后的消息-->私钥-->解密后的消息 公钥加密,私钥解密</code>
- Bob은 자신의 공개 키와 개인 키를 생성하고 공개 키를 Alice에게 보냅니다.
- Alice는 Bob의 공개 키를 사용하여 메시지를 암호화합니다.
- Alice는 암호화된 정보를 Bob에게 보냅니다.
- Bob은 자신의 개인 키를 사용하여 Alice가 보낸 정보를 해독하고 얻습니다.
호스트간 신뢰관계 구축
위의 공개 키와 개인 키에 대한 지식을 이해하고 이제 두 호스트 사이에 신뢰 관계를 설정해 보겠습니다. , , 101에서 100과 신뢰 관계를 설정하기 위해(즉, 100은 101에 로그인할 때 비밀번호를 입력할 필요가 없음) 이번에는 개인 키 서명 프로세스가 사용됩니다.
yanruitao192.168.1.100의 홈 디렉터리에서 공개 키와 개인 키를 생성합니다(기존 키는 무시할 수 있음)
<code>ssh-keygen -t rsa #执行完之后会在家目录下的.ssh文件夹下生成id_rsa、id_rsa.pub两个文件,后者是公钥。 scp .ssh/id_rsa.pub yanruitao@192.168.1.101:/home/yanruitao/ #scp同样是通过remote shell的方式传送文件,回车之后会提示输入密码,此时 #还未建立信任关系,因此需要输入密码。确认100的公钥发送给101</code>
yanruitao192.168.1.101의 홈 디렉터리에서 yanruitao192.168.1.100과 신뢰 관계를 설정합니다
<code>#将刚才传送的100机器的公钥写入101yanruitao及目录下的.ssh/authorized_keys文件 cat id_rsa.pub >> .ssh/authorized_keys chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys #至此就在yanruitao@192.168.1.101上对192.168.1.100建立了信任关系</code>
크론탭 설정
<code>0 */2 * * * rsync yanruitao@192.168.1.101:/export/wwwroot/hotdocs/files/ /export/wwwroot/hotdocs/files/ #设置完成,每天02:00分会执行一次增量同步</code>
발생한 문제
물론, 실제로 작동시키면 문제가 생길 수도 있습니다. 제가 할 때 두 기계의 사용자 이름이 달랐습니다. 하나는 yanruitao이고 다른 하나는 mywife였습니다(하하, 웃지 마세요). yanruitao, mywife 이력서와 신뢰 관계가 있습니다. 이때 mywife 홈 디렉토리에서 신뢰 관계를 설정하려면 위의 단계를 다시 수행해야 합니다. 또 다른 문제는 내 아내 컴퓨터의 /export/wwwroot/htdocs/files/ 폴더 소유자가 내 아내여야 한다는 것입니다.
<code>#修改文件夹所有者为mywife sudo chown mywife:users /export/wwwroot/htdocs/files/</code>
그렇지 않으면 오류가 보고될 수 있습니다(특정 오류를 잊어버렸습니다. 회사에서 발생했습니다). 동기화에는 영향을 미치지 않는 것 같지만 $?가 23을 반환하므로 다음 작업에 영향을 미칩니다. 여기에서도.
참고기사
http://www.williamlong.info/archives/837.html
http://www.cnblogs.com/ymy124/archive/2012/04/04/2432432.html
http:/ /www.zhihu.com/question/25912483
이 글의 저작권은 작성자에게 있습니다(). 글의 무단 전재를 금합니다. 저자는 기사 페이지에 명확하게 명시되어야 합니다. 그렇지 않으면 당사는 법적 책임을 추궁할 권리를 갖습니다.
위 내용은 rsync를 이용한 원격 서버 파일의 증분 동기화에 대한 내용을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Alipay PHP ...

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.
