![소스 RHEL 서버에서 대상 RHEL 서버로의 SFTP 백업 디렉터리](https://linux55.com/image/170104/%EC%86%8C%EC%8A%A4%20RHEL%20%EC%84%9C%EB%B2%84%EC%97%90%EC%84%9C%20%EB%8C%80%EC%83%81%20RHEL%20%EC%84%9C%EB%B2%84%EB%A1%9C%EC%9D%98%20SFTP%20%EB%B0%B1%EC%97%85%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC.png)
원본 서버에서 백업 디렉터리를 복사하고 sftp 명령을 통해 대상 서버의 다른 디렉터리에 저장하는 쉘 스크립트를 만들고 싶습니다. 또한 대상 서버에 파일을 넣은 후 원본 서버와 대상 서버의 크기를 비교하여 sftp가 완전히 성공했는지 확인하고 싶습니다.
답변1
sftp
이 작업을 수행 하려면 대신 지정된 도구를 사용하십시오 rsync
. 예를 들면 다음과 같습니다.
원본 서버에서:
rsync -av -e ssh /path/to/files target-server:/path/to/backup/
대상 서버에서:
rsync -av -e ssh source-server:/path/to/files /path/to/backup/
이것의 장점은 변경된 파일만 복사하거나 파일 내의 변경 사항만 복사한다는 것입니다. 기본적으로 크기와 수정 시간을 비교하지만 -c, --checksum
체크섬을 기준으로 비교할 수도 있습니다.
--delete
원본 서버에서 삭제된 파일을 제거하려면 추가합니다 .