I am trying to setup Scheduled Windows Backup at x time daily.
Assuming windows backup takes few hours. What will happen if Duplicati starts before Windows Backup finishes. Or other way Windows Backup stars before Duplicati Finishes.
Both use VSS. So will they conflict/ fail.
Windows backup uses VSS Full Backup & VSS Copy Backup. Should any changes be made here.
My understanding is that each operation should create a unique VSS snapshot. I assume that the creation of snapshots is queued, but once they are created each backup should be able to run with its own snapshot.
I could not find an authoritative article on the subject, but this SO thread says it works:
--vss-snapshot-policy handles this kind of problems. --vss-snapshotpolicy=auto will silently continue the backup, - -vss-snapshotpolicy=on will also continue after writing a warning message to the log.
Waiting until all VSS providers are available could be tricky. If a VSS writer hangs, Duplicati will wait forever without backing up anything, until the VSS problem is solved or the computer is restarted.
It’s better to have a backup without using VSS that not having a backup at all.
What I’m not sure about is:
How does Duplicati behave in case VSS is busy and vss-snapshot-policy is set to Auto or On?
Ideally, the backup should continue without creating a shadow copy. If the backup fails because VSS is available on the source system, but can’t be used temporarily (because another process is creating a VSS snapshot), I guess this should be fixed.
I see. But what should Duplicati do when VSS is unavailable? If the backup job waits until VSS is available, it could wait endlessly in case there is a problem with a VSS writer.
How long should it wait by default? The time it takes to create a VSS snapshot is quite unpredictible, because it relates to the number of changed files, CPU performance, storage subsystem performance etc.
In my backups I set vss-snapshot-policy to on. If creating a snapshot fails, a warning message is logged, but at least I will have a backup of all files that were not in use.
Can you provide some suggestions on what Duplicati should do in which circumstances? In the first place, it somehow has to find out if VSS fails because of another process that’s creating a snapshot (don’t know if this is possible). And what should it do in both situations? Should it behave different if --vss-snapshot-policy=on or -- vss-snapshot-policy=auto?
Not sure how this can be implemented in a reliable way.