다른 호스트의 특정 디렉토리에서 현재 호스트의 디렉토리로 C 소스 및 헤더 파일을 자동으로 복사하는 bash 스크립트를 만듭니다. .한 호스트에서 다른 호스트로 특정 파일 유형 복사
그것은 현재이 명령을 생성합니다 SSH 호스트 2 "CD를 DIR1/dir2는 & & 발견 -maxdepth 1 -regextype POSIX 확장 된 -regex '.. (| H C) *'| - -c 타르 - T를 - f - "| 타르 XF -
문제는이 오류를 얻을 : "타르 : 이것은 tar 아카이브처럼 보이지 않는"
이 오류는 최종 타르에 의한 출력 (타르 XF -) 때문에 몇 가지 이유에 대한 파이프 된 tar 파일이 손상되었습니다.
대신 ssh, tar 및 scp의 조합을 사용하면 잘 작동하지만 암호를 host2로 두 번 입력해야합니다 (ssh에는 한 번, scp에는 한 번). 내가 스크립트에 인수로 암호를 입력 할 수 있지만 내 bash 기록에 나타나지 싶지 않아요.
아이디어가 있으십니까?
감사합니다. 나는 그것을 다음과 같이 관리했다 : rsync --include = * .c --include = * .h --exclude = * $ SOURCE_HOST : $ PATH/*. –
그것은 나를 위해 작동하지 않습니다 : ** rsync -avz --include = * .h --exclude = * SRC_DIR DST_DIR ** SRC_DIR에서 .h 파일을 복사하지만 반복적으로는 안됩니다. ** - recursive ** 옵션을 적용해도 도움이되지 않습니다 : ( – kappa
'--include = '* /''옵션을 추가하면 문제가 해결되었습니다 – kappa