Well, technically Duplicati works fine with removable media when it’s connected but it can get a bit chatty about “errors” when the media is not connected. Though this can be abated a bit by adjusting
I have a Mac that has daily backups scheduled to to two destinations - a remote “always on” destination and a local USB drive that is only connected once a week. The daily USB backup complains about the missing destination with every run, but the backup itself runs fine when the drive is connected.
If I cared enough to add a
--run-script-before task to check whether or not the destination was connected at the time of the run then I could get rid of that error too.
Duplicati can work in this scenario, but you’ll need two different jobs (pointing to the same source) to make it happen. The reason for this is that Duplicati keeps a local database of what’s been backed up to the destination so if you do a week’s worth of backups to USB drive A then swap in USB drive B Duplicati will complain that a bunch of destination files are missing (which is what you mentioned in the original post).
If you’re working on Windows then you also have to potential “Windows Drive Letters” issue to deal with since Windows can changes the drive letter of the USB drive when attached if the previously used drive letter is already in use.
To get around this you can use the
--alternate-destination-marker parameter to designate a “magic filename” that Duplicati will use to identify the correct target drive. So you could use something like
You then set
--alternate-target-paths to be drive-variable. So if you were placing your backups in a
G:\Duplicati-Backups folder you could set something like
This setup would tell Duplicati to look through every drive until it finds the
Duplicati-Backup-Drive-A.txt file then will run the backup into the
\Duplicati-Backups folder of that drive.
If you set up each backup job with a different
--alternate-destination-marker file, then each job will only back up to it’s “designated” destination drive.