Come posso vedere rsync
non è possibile sincronizzare il file se alcune directory nel percorso del file non esistono. Perché non crea queste directory con il comando mkdir -p
? Forse ha un'opzione per questo? L'opzione -r
non funziona in questo caso.Perché rsync utilizza mkdir senza l'opzione p
risposta
Qualcuno ha chiesto una domanda simile qui:
rsync: how can I configure it to create target directory on server?
Non sembra come rsync
è in grado di farlo. Dovresti scrivere uno script wrapper che faccia un mkdir -p
nella directory di destinazione prima di eseguire rsync
. Se la directory di destinazione si trova su un server diverso, è possibile eseguire il comando mkdir -p
in uno script tramite ssh
.
ho incontrato lo stesso problema come te, se la directory di destinazione remota è "/root/test
" e voglio usare rsync
per replicare i file nella directory remota "/root/test/aaa/bbb
", poi "failed: No such file or directory (2)
" sarà verbose fuori. La soluzione migliore è, dare il comando "ssh <username>@<remoteHostIP> mkdir -p <absolute_path>
" per creare ricorsivamente le sottodirectory sull'host remoto. Quindi utilizzare il comando rsync
avrà esito positivo.
Alla fine faccio lo stesso. Sembra che non ci sia un modo conveniente per persuadere rsync a creare directory in modo ricorsivo – z3ple