rsync에 요청하여 *모든* 필요한 디렉토리를 생성하세요.

rsync에 요청하여 *모든* 필요한 디렉토리를 생성하세요.

zsh에는 다음 루프가 있습니다.

 for x in my_folders*; 
 do 
   rsync -adrv $x/foo/bar/ /foo2/bar2/new_dir/$x/
 done

new_dir호출 전에는 존재하지 않습니다 . 이를 생성하고 복사 작업에 필요한 모든 것을 만들고 rsync싶습니다 .rsync

rsync플래그를 전달하고 있는데 다음 d과 같이 r불평합니다.

rsync: mkdir "/foo2/bar2/new_dir/item1" failed: No such file or directory (2)

분명히 폴더를 /foo2/bar2/new_dir/$x/복사하기 전에 폴더가 존재한다고 가정하지만 그렇지 않습니다. 이것으로:

  • rsync에 생성을 요청하는 방법이 있나요?어느복사 작업이 작동하려면 필수 디렉토리가 필요합니까?

답변1

매뉴얼 페이지를 보면 rsync귀하의 시나리오에 대한 옵션이 표시되지 않습니다. 그러나 동기화를 시작하기 전에 디렉터리를 수동으로 추가하면 어떻게 문제를 방지할 수 있습니까?

for x in my_folders*; 
do  
   mkdir -p "/foo2/bar2/new_dir/$x"
   rsync -adrv "$x/foo/bar/" "/foo2/bar2/new_dir/$x/"
done

관련 정보