
소스 서버에서 백업 디렉터리를 복사하고 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
원본 서버에서 삭제된 파일을 제거하려면 추가합니다 .