Backup wrong directory

How should I proceed to track down the following problem?

My UrBackup Server v2.4.9.0 is on Debian stretch virtual server:

Linux curlew 4.9.0-11-amd64 #1 SMP Debian 4.9.189-3+deb9u1 (2019-09-20) x86_64 GNU/Linux

The same server is running UrBackup Client Backend v2.3.4.0.

I recently realized I was not backing up an area of the server so I added a job.

I have:

  • a job that backs up / with an exclusion of /srv
  • a job that backs up /srv/sync (on /dev/vde)
  • the new job that backs up /srv/samba (on /dev/vdd)

Prior to adding the new job the /srv/sync job worked but now it backs up the wrong directory, the same directory as the added job.

The snapshot mount log entries from 5 successive job runs are:

12/11/19 09:20 Snapshotting device /dev/vde via dattobd... (existing [sync] job)
12/11/19 12:33 Snapshotting device /dev/vdd via dattobd... (first run of new [samba] job)
13/11/19 01:12 Snapshotting device /dev/vdd via dattobd... (existing [sync] job - wrong device mounted)
13/11/19 15:10 Snapshotting device /dev/vdd via dattobd... (second run of new [samba] job)
13/11/19 15:19 Snapshotting device /dev/vdd via dattobd... (existing [sync] job - wrong device mounted)

It seems that there is some confusion of jobs but I am not sure how to track it down, the settings on the server for each job seem correct in the server web interface.

Maybe it is an issue in /usr/local/share/urbackup/dattobd_create_filesystem_snapshot. Specifically this line:

DEVICE=$(df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f1)
(get device of mounted file system)

Does e.g. df -T -P | egrep " /srv/sync\$" | head -n 1 | tr -s " " | cut -d" " -f1 return the correct device?

Another cause could be that it gets the mount point wrong, so maybe add a echo "${SNAP_MOUNTPOINT}" to the script…

The command you use gives the correct device.

I patched the script as follows:

*** /usr/local/share/urbackup/dattobd_create_filesystem_snapshot.o      2019-08-11 02:04:51.205694174 +1000
--- /usr/local/share/urbackup/dattobd_create_filesystem_snapshot        2019-11-14 01:25:38.182749257 +1100
*************** then
*** 37,43 ****
      exit 1
  fi

! echo "Snapshotting device $DEVICE via dattobd..."

  NUM=0

--- 37,43 ----
      exit 1
  fi

! echo "Snapshotting device $DEVICE via dattobd for $TYPE mountpoint $SNAP_MOUNTPOINT snap $SNAP_ID ..."

  NUM=0

*************** fi
*** 104,107 ****

  echo "SNAPSHOT=$SNAP_DEST"

! exit 0
\ No newline at end of file
--- 104,107 ----

  echo "SNAPSHOT=$SNAP_DEST"

! exit 0

I had disabled the /srv/samba and /srv/sync backups so I enabled the /srv/sync job which reported:

14/11/19 01:28 Snapshotting device /dev/vde via dattobd for ext4 mountpoint /srv/sync snap ec4a52693cbc14c56eb7adfad6ba6aa97494b93ab80fc359

Once it completed I enabled the /srv/samba job which reported:

14/11/19 01:33 Snapshotting device /dev/vdd via dattobd for ext4 mountpoint /srv/samba snap 60057770ff9ef9163883efd93b8aed222d973dd88effcce4

So maybe I have a correct backup when I force a strict separation of the jobs. They were running sequentially before but the /srv/sync job was immediately after the /srv/samba job as its start time occurred before the first job finished.

I have “Max simultaneous backups” set to 2 and “Maximum number of simultaneous jobs per client” set to 1.

If you manage to reproduce the problem a client debug log file ( see here Having problems with UrBackup? Please read before posting ) would be useful in trying to track down the problem.