2012-12-21 12 views
7

Jak widzę, rsync nie może zsynchronizować pliku, jeśli niektóre katalogi w ścieżce pliku nie istnieją. Dlaczego nie tworzy tych katalogów za pomocą polecenia mkdir -p? Może ma do tego opcję? -r Opcja nie działa w takim przypadku.Dlaczego rsync używa mkdir bez opcji p

Odpowiedz

7

Ktoś zadał podobne pytanie tutaj:

rsync: how can I configure it to create target directory on server?

To nie wygląda rsync jest w stanie to zrobić. Trzeba będzie napisać skrypt owijający, który wykonuje mkdir -p w katalogu docelowym przed wykonaniem rsync. Jeśli Twój katalog docelowy znajduje się na innym serwerze, możesz uruchomić polecenie mkdir -p w skrypcie za pośrednictwem ssh.

2

jakie napotkał ten sam problem, tak samo jak ty, jeśli katalog odległego celu jest „/root/test” i chcę użyć rsync powtórzyć swoje pliki do katalogu zdalnego „/root/test/aaa/bbb”, a następnie „failed: No such file or directory (2)” będzie verbose zewnątrz. Najlepszym rozwiązaniem jest podanie polecenia "ssh <username>@<remoteHostIP> mkdir -p <absolute_path>" w celu rekurencyjnego utworzenia podkatalogów na zdalnym hoście. Następnie użyj komendy rsync.

+0

W końcu robię to samo. Wygląda na to, że nie ma wygodnego sposobu na przekonanie, że rsync tworzy rekursywnie katalogi – z3ple