rsync throwing mkdir: cannot create directory ‘/data/dir_1/dir_2/dir_3/’: No such file or directory
rsync
command doesn't create directory tree, so you can do this by perform:
mkdir -p /data/dir_1/dir_2/dir_3
before rsync
command or use --rsync-path options:
--rsync-path=PROGRAM Use this to specify what program is to be run on the remote machine to start-up rsync.
Your command should be:
rsync -avz source_diretory/ --rsync-path="mkdir -p /data/dir_1/dir_2/dir_3 && rsync" /data/dir_1/dir_2/dir_3
Here is a useful link.
Related videos on Youtube
![dragosrsupercool](https://i.stack.imgur.com/4wZWH.jpg?s=256&g=1)
dragosrsupercool
Updated on September 18, 2022Comments
-
dragosrsupercool almost 2 years
I mounted a disk at
/data
. This is empty at the moment.I need
rsync
to performmkdir -p
thanmkdir
as the file I needs to be at at level 4 i.e./data/dir_1/dir_2/dir_3/filename
whendir_1
,dir_2
anddir_3
doesn't exists.If I create the needed sub-directories manually I am able to perform rsync using following command:
rsync -avz source_diretory/ /data/dir_1/dir_2/dir_3
But if I don't create the sub directories, this command throws an error:
mkdir: cannot create directory ‘/data/dir_1/dir_2/dir_3/’: No such file or directory
I tried Googling, reading rsync's man page, tried using
-r
-R
but could not make it work.Can
rsync
perform something likemkdir -p
or is that out of its scope?-
mivk almost 5 yearsSee this answer
-