원격 호스트에 매일 rsync를 통해 수천 개의 파일과 520GB의 데이터를 동기화하는 폴더가 있습니다. 이 과정은 보통 약 5 시간이 걸립니다. 또한 rsync가 수행하는 두 가지 트리를 비교하지 않고 새로운 파일과 변경된 파일을 원격 위치에 복사하는 것이 좋습니다. 대상에있는 사람들이 새 파일에 액세스해야하기 때문에 scp하지만 지금까지 만난 두 가지 문제를 해결하는 방법을 모르겠습니다. 예, 저는 배쉬를 시작하는 초보자입니다. :)새 파일을 FIND & SCP (또는 더 나은 방법으로 제안)로 원격 호스트에 복사
find folder/-type f -mmin -60 -print0 -exec scp "/ rootfolder1/subfolder1/{}" "user @ host : /는 각 시간마다 실행하고 싶습니다. rootfolder2/subfolder2/{} "\;
내가 겪고있는 문제는 다음과 같습니다. scp에 전달 된 문자열에 공백이 있으면 작동하지 않고 "scp 모호한 대상"오류가 발생합니다. 분명히 scp는 백래시로 이스케이프 된 공백을 필요로하지만 그 방법으로 경로를 출력하도록 지시하는 방법을 모르거나 다음과 같이 SED 명령을 삽입하는 방법을 알고 있습니다. sed 's/// g' .
다른 점은 복사 할 파일이 대상 scp에없는 폴더에있는 경우에도 오류가 발생한다는 것입니다. 그래서 모든 파일을 복사하려고 시도하기 전에 "mkdir -p"를 시도해야하는지 (mkdir -p는 원격 호스트에서 작동 함) 또는 scp가 누락 된 폴더를 작성하도록하는 방법이 있는지 알지 못합니다.
물론 더 나은 해결책을 제안 할 수 있다면 꼭 !! 감사합니다.