directory-to-be-created
다음 명령 에서 파일 모드 비트를 제어하고 싶습니다 rsync
.
rsync -a ... <remote-user>@<remote-host>:/some/existing/path/directory-to-be-created/
이름에서 알 수 있듯이 디렉터리는 아직 존재하지 않으며 rsync
충실하게 생성해야 합니다.하지만,내가 아는 한언제나이것이 준수됩니까?<원격 호스트>기본 설정으로 umask
는 --chmod=...
제가 이해할 수 없는 주문으로는 다른 일을 할 수 없습니다...
그러면 누락된 대상 디렉터리를 생성하기 위한 파일 모드를 설정할 수 있으며, 그렇다면 어떻게 설정해야 합니까?
답변1
rsync
이 기능은 기본적으로 지원되지 않을 수 있지만 파일 시스템을 사용할 수 있습니다ACL/some/existing/path/
아래에 새로 생성된 디렉터리 에 특정 권한 집합이 있는지 확인하세요 . 예를 들어:
$ setfacl -dm u::rwx,g::rx,o::r /some/existing/path/
아래에 새로 생성된 디렉터리에는 이제 수동 또는 전달 /some/existing/path/
권한이 있어야 합니다.750
rsync
답변2
이 답변나를 계속 따라가게 해주세요--rsync-path=PROGRAM
옵션:
--rsync-path=PROGRAM
rsync를 시작하기 위해 원격 컴퓨터에서 실행할 프로그램을 지정하려면 이를 사용합니다. 기본 원격 셸의 경로에 있지 않을 때
rsync
자주 사용됩니다 (예--rsync-path=/usr/local/bin/rsync
: ).알아채다
PROGRAM
rsync
쉘의 도움으로 실행되므로 통신에 사용되는 표준 입력 및 표준 출력을 파괴하지 않는 한 실행하려는 모든 프로그램, 스크립트 또는 명령 시퀀스가 될 수 있습니다 .까다로운 예는
--relative
이 옵션과 함께 사용할 원격 시스템에 다른 기본 디렉터리를 설정하는 것입니다. 예를 들어:rsync -avR --rsync-path="cd /a/b && rsync" host:c/d /e/
그래서 나는 이것만 할 수 있는 것 같습니다:
rsync -a --rsync-path='umask 0022 && rsync' ...
...기본값 umask
(또는 실제로어느rsync
원격 호출 전 필수 조건 :-)