Trying to understand why UrBackup is using symlinks when taking certain folders in Linux

UrBackup Server: 2.2.11
Installed on: Jail on FreeNAS 9.11.2-U6
Client on: Ubuntu Server 16.04 LTS VM on ESXi 5.5

I have two VMs running the Ubiquiti controller software on Ubuntu Server. This software lives (mostly) in /var/lib/unifi and has a folder it creates called backup (so /var/lib/unifi/backup) and it uses this folder to store the automatic backups it takes.

I have my UrBackup taking a backup of the root of the single virtual disk so that I can capture everything but since my off-site replication is using rsync over SSH and I have limited bandwidth, I’ve chosen to also add the /var/lib/unifi folder as a separate backup directory to capture.

Since this creates three folders under each backup’s folder on UrBackup (.hashes / root / unifi ), my plan is to use the rsync exclude option to exclude out .directory_pool and root so that only the unifi folder is copied over nightly and then I end up with the critical parts backed up remotely as well and a full system nightly backup locally.

My issue is that this isn’t happening. The rsync is syncing over the unifi folder but the sub folder ‘backup’ is being skipped. I checked the UrBackup server and there are two folders actually being skipped, backup and sites, and both don’t appear as normal folders on the UrBackup server, but instead are symlinks to folders under the .directory_pool folder.

I’d like to understand why these folders are being stored this way (as symlinks) and also why rsync has an issue with this.

.directory_pool is for fully unchanged directories.

because you can t hardlink a folder, it s a symlink
and because it generate a lot less io making a single symlink than to create a hardlink for every files inside an unchanged directory

As for rsync, maybe look at your options or search the forums for ones that work.

You can run around theses problems using btrfs for urbackup special storage and btrfs send/receive to replicate that offsite, you need to look at the docs for that.

So because I am telling rsync to exclude the .directory_pool folder and because the files in that folder haven’t changed all week, that makes sense to why it appears in the UrBackup server as a symlinked folder.

This all starts to make sense now.