Skip to content

Create path hirarchy of source path automatically in destination

Fabian Raab requested to merge raabf/backupninja:rsync-mkdir-fix into master

Before it was only possible to backup root directories (depth one, eg. /etc, /var, /usr, …). For example consider the following truncated toy configuration for rsync:

[general]
mountpoint = /media/
backupdir = backup
[source]
include = /foo/bar
include = /etc

We assume you have prepared the existent but empty base-directory /media/backup/ at your destination, then against the expectation, the following error rises:

rsync: mkdir "/media/backup/foo/bar/" failed: No such file or directory (2)

The reason is that rsync will take the files from the folder /foo/bar/ and tries to put them into the ulitmate – and therefore existent – destination /media/backup/foo/bar. This is not what you would expect, since the prepared directory /media/backup exists and the application should create the rest itself.

This Merge Request adds a little script which creates the required directories in the destination before running rsync. It assumes that the base-directory already exists, so that not too much directories are created automatically (could be a mess if you accidentally type the wrong path)

Merge request reports