한 서버에서 다른 서버로 파일을 이동(복사 아님)하는 방법은 무엇입니까?

한 서버에서 다른 서버로 파일을 이동(복사 아님)하는 방법은 무엇입니까?

다음에서 파일을 이동하고 싶습니다.서버 1도착하다서버 2.

프로듀서서버 1계속해서 파일을 생성하고 소비자는서버 2계속해서 작업할 예정입니다.

다음 쉘 스크립트를 사용하여 파일을 복사할 수 있습니다.

rsync path/*.txt server2:/path

대상에 있는 파일의 확장자(서버 2)이 처리되면 .txt에서 .done으로 변경되므로 명령을 다시 실행하면 파일이 대상에 다시 복사(및 처리)됩니다.

그래서 원본 파일을 삭제(또는 이름 바꾸기 또는 이동)하여 다시 전송되지 않도록 하고 싶습니다.

rsync--remove-source-files 옵션이 없는 버전 2.6.3을 사용하고 있습니다 .

저는 쉘 스크립팅이 처음이므로 예를 들어주세요.

답변1

rsync --remove-source-files옵션 사용

~에서man rsync

--remove-source-files
This  tells  rsync  to  remove  from  the sending side the files
(meaning non-directories) that are a part of  the  transfer  and
have been successfully duplicated on the receiving side.

옵션을 사용하면 언제든지 변경 없이 시험 실행을 수행할 수 있으며, 출력이 마음에 들면 옵션 없이 --dry-run최종 명령을 실행하세요.--dry-run

예를 들면 rsync --remove-source-files -options /path/to/src/ computerB:/path/to/dest다음과 같습니다 .이것계속하기 전에 질문을 하세요.

답변2

-page 에 따르면 다음을 사용할 man수 있어야 합니다.--remove-source-filesrsync

--소스 파일 삭제

이는 전송의 일부이고 수신 측에서 성공적으로 복사된 파일(즉, 디렉터리가 아닌)을 전송 측에서 삭제하도록 rsync에 지시합니다.

관련 정보