I have two folders – X and Y.
A backup of the USB drive is in folder X, and the actual content is in folder Y.
I want to update my backup (X) so that X and Y are currently identical since I have added a lot of new files and updated a lot of older ones.
Normally, it shoul be simple: I would synchronize X and Y.
However, there is a problem: a lot of the files on Y are .odt files (LibreOffice) containing pictures that are damaged (for example, part of the picture is all black; I'm not sure why; it might have something to do with removing the USB device and using it on another computer, but that's a different issue that I don't want to address here).
If I synchronize X and Y, I also damage my backup (files with pictures) – that should be avoided. I do want to synchronize all other files, though (to renew by backup so that it contains all new and modified docs that are not damaged).
Files with damaged images can be easily identified because they are recognized as equal when compared by file time and size (on X and Y), but they aren't equal when comparing based on file content.
Maybe it would be possible to filter them first, then syncing Y and X so that any files in Y with the same size and time but different content are replaced by files from X. Than I could simply synchronize X and Y so that X is copy of Y.
Can it be done (with FFS or another software)?
Thank you for any help.
Synchronize only files fulfilling a condition (since other are damaged)
- Posts: 2
- Joined: 22 Jul 2023
-
- Posts: 2946
- Joined: 22 Aug 2012
It seems you can run a normal FFS Y => X Mirror or Update sync for all files, comparing by time+size.
Any (corrupted or non-corrupted) *.odt files on Y that do not yet exist on X will then be copied over to X.
If, as you describe, the time and size of corrupted *.odt files on Y is the same as the non-corrupted backup on X, the existing *.odt files on X will however not be overwritten.
Always check the FFS proposed sync actions before clicking the "Synchronize" button.
Additionally, consider using Versioning.
This will allow you to retain (and thus recover) as many previous versions for as long as you as you select.
I suppose you also want to restore the (non-corrupted) backup of the *.odt files on X back to Y.
You should be able to do so by running a FFS X => Y Update sync, comparing by content, while changing the Include Filter from * (=everything) into *.odt (=all odt-files).
In case of discrepancies, this should copy your backup on X back to Y.
Don't use a Mirror sync in this case, as that would delete any *.odt files on Y that do not (yet) exist on X.
Again, always check the FFS proposed sync actions before clicking the "Synchronize" button.
Any (corrupted or non-corrupted) *.odt files on Y that do not yet exist on X will then be copied over to X.
If, as you describe, the time and size of corrupted *.odt files on Y is the same as the non-corrupted backup on X, the existing *.odt files on X will however not be overwritten.
Always check the FFS proposed sync actions before clicking the "Synchronize" button.
Additionally, consider using Versioning.
This will allow you to retain (and thus recover) as many previous versions for as long as you as you select.
I suppose you also want to restore the (non-corrupted) backup of the *.odt files on X back to Y.
You should be able to do so by running a FFS X => Y Update sync, comparing by content, while changing the Include Filter from * (=everything) into *.odt (=all odt-files).
In case of discrepancies, this should copy your backup on X back to Y.
Don't use a Mirror sync in this case, as that would delete any *.odt files on Y that do not (yet) exist on X.
Again, always check the FFS proposed sync actions before clicking the "Synchronize" button.
- Posts: 2
- Joined: 22 Jul 2023
Very helpful, thank you!