I'm glad to hear the UTC thing is a known phenomena, because that's certainly what seemed to be happening. This drive is indeed NTFS.
I remember now, Windows' shadow copying of open files. Makes sense. I can simply add pause/resume of the VMs using Syncovery's before/after scripts.
I found another factor in my file comparison failures: Veracrypt deliberately messes with container file modification dates as a way to throw off perpetrators/hackers. My files' mod dates kept jumping around within a few days. It seems like this could disrupt file comparisons on backup software. Fortunately there's a checkbox to disable it.
Thanks again for your excellent support!
Block-level copying keeps writing the whole file
Re: Block-level copying keeps writing the whole file
For anyone reading who wants to automate pausing of VirtualBox VMs before the profile runs, using a bash script, here are the problems I ran into and solved...
VirtualBox's "VBoxManage" command, when run as root (as Syncovery does, I believe) doesn't see VMs that were started as an ordinary user. Thus I re-wrote it within the script as:
sudo -u <username> bash -c 'VBoxManage controlvm <vm-name> pause'
No password gets prompted after sudo, but the -u leads to invoking as your user.
Syncovery's entry field says you can enter an absolute path to a script, but I found that it wouldn't actually execute my script unless I preceded with "bash". Having said that, my case may have been special because I had to surround my path with quotes because it contains a parenthesis.
Preceding with "./" within the quotes didn't work. So it was:
bash "/home/username/ab(solute/path/to/script"
VirtualBox's "VBoxManage" command, when run as root (as Syncovery does, I believe) doesn't see VMs that were started as an ordinary user. Thus I re-wrote it within the script as:
sudo -u <username> bash -c 'VBoxManage controlvm <vm-name> pause'
No password gets prompted after sudo, but the -u leads to invoking as your user.
Syncovery's entry field says you can enter an absolute path to a script, but I found that it wouldn't actually execute my script unless I preceded with "bash". Having said that, my case may have been special because I had to surround my path with quotes because it contains a parenthesis.
Preceding with "./" within the quotes didn't work. So it was:
bash "/home/username/ab(solute/path/to/script"