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