coflicts when real and sort order seems to be canged

Get help for specific problems
Posts: 4
Joined: 3 Jan 2024

BugFix

Hi Folks, I am using the donation version of FFS and have the following issue:

try to mirroring a folder from:

C://folder/folder -> D://folder/folder
AND
D:// -> P://

in one step with RealTime while "D://folder/folder" is a part of "D://" means I want to sync in realtime a folder to drive D an then sync the whole drive D to drive P

D is a part of my PC
P is a network drive

I'm doing this tho have a backup of "C://folder/folder" on a different physical drive "D" while "P" is only temporarily present.

- Why do I get conflict errors and the recommendation to exclude files and how to deal correctly with it?
- It also seems RealTime works only if Drive P is active, the first part (C->D) is also dead when the second do not work
- I created a batch from it and imported it to RealTime and it seems this changes the sort order
the folders in RealTime are now arranged as follows:

C://folder/folder
D://
D://folder/folder
P://

in the GUI it is sorted like also shown above:

C://folder/folder -> D://folder/folder
AND
D:// -> P://

the issue may that I do not understand how this works, do I?

Thx in advance, hopefully this is not to much confusing...
Posts: 1021
Joined: 8 May 2006

therube

(In the .ffs_real, it looks like all the source directories are listed, first, followed by all the associated corresponding pair directories.

So in that respect your .ffs_real would be correct.)
Posts: 1021
Joined: 8 May 2006

therube

I believe the reason for your errors is that you have overlapping directories between the 2 pairs.

Likewise, as you are running a single .ffs_real, it is expecting that all your listed drives are available (at the same time).

If you were to set up 2 separate .ffs_real's, & have them both running (concurrently).
(Is that going to work? Or will the 1 still report conflict errors? Not sure?)

The first, C://folder/folder to D://folder/folder.
The second, C:// to P://.

Then when D: is available, the first will run.
When P: is available, the second will run.


And when both are available?
They would both run. (But would you get messages... ?)
User avatar
Posts: 2430
Joined: 22 Aug 2012

Plerry

(I re-used you location notation, although the combination of drive-letters and forward slashes appears strange or simply incorrect to me)

The fact that you first list
C://folder/folder -> D://folder/folder
as your first folder pair AND then
D:// -> P:// as your second folder pair
does not mean that first C://folder/folder will be synced to D://folder/folder
and only then D:// to P://, but rather that (apart from the overlap
between D://folder/folder and D://) that
C://folder/folder is compared to D://folder/folder and the required sync actions
are determined and that (before any actual sync is run)
D:// is compared to P:// to determine the required sync actions.
So, any changes to D://folder/folder (as a result of sync actions of your first pair) have yet to occur and thus do not (yet) result in compare differences of your second pair that would result in sync actions.

If you want to do all in one go, you can sync
C://folder/folder -> D://folder/folder
AND
C://folder/folder -> P://folder/folder
AND
D:// -> P://
where (in order to prevent your overlap) for the 3rd pair you add /folder/folder to the local Exclude Filter (the funnel-icon in between the 3rd pair) or if /folder/folder does and will not occur inside D://folder/folder and/or P://folder/folder, you can add /folder/folder to your global Exclude Filter (the funnel-icon mid above your folder pairs).

Alternatively, you can run a first FFS sync
C://folder/folder -> D://folder/folder
and only after that sync has finished run a second FFS sync
D:// -> P://
Posts: 4
Joined: 3 Jan 2024

BugFix

it looks like I didn't understood the logic of the synchronization, thx for explanations. Whats unclear to me is the structure and the mode of operation. Why do i have in batch file left and right pairs in a given order but FFS does not consider the order at the end? would this be a missing feature? It might also be an idea to synchronize when parts of the folder paths are available, e.g. the first pair of folders can always be synchronized, as it should always be available, the second only when P:\ is available. Can I post this somewhere as a suggestion?

@therube-> I haven't considered running two instances, but that's certainly an idea that would work, unfortunately I don't like it so much.

@Plerry-> sorry for confusing notation, I would follow your proposal but if FFS stops depending of missing connection to P:\ it does not help

So I'm playing around with Time Scheduling. Next issue follows i fear... ;-)

Question: Time Scheduling works not in the same manner like *.ffs_real right? I understood RealTimeSync takes the info about changes from system protocol and works only with this files not with the complete sync action, whereas time scheduling always runs through the entire synchronization? Is this right? This could make a difference in system load, makes it?
User avatar
Posts: 2430
Joined: 22 Aug 2012

Plerry

> Why do i have in batch file left and right pairs in a given order
> but FFS does not consider the order at the end?
Order is only relevant if there are dependencies between sync locations, forming an overlap.
Overlaps must be avoided, because they create potential sync conflicts or ambiguities.
And overlaps can be avoided by proper definition of folder pairs and/or Exclude Filter rules.

> It might also be an idea to synchronize when parts of the folder
> paths are available ... Can I post this somewhere as a suggestion?
That's what the "General discussion" section is for.

RealTimeSync (RTS) monitors the specified folder(s) for changes, and upon detecting any such change executes its command line, normally launching FFS to run a specified (*.ffs_batch) sync configuration.
Time scheduling, e.g. via the Windows Task Scheduler, always executes its command line at specified times or events (e.g. at logon). Like RTS, time scheduling could launch FFS to run a specified (*.ffs_batch) sync configuration.
In either case, if one or more locations specified in your *ffs_batch sync configuration is not available, FFS will not perform a sync.
Posts: 4
Joined: 3 Jan 2024

BugFix

Thank you very much, I really appreciate your help! I have one last speculation and would be happy if you could comment on it again.

Presumably, if a target is not available, the events are not logged, so that the synchronization is executed the next time the target is online (for this you would have to find a definable timeout in the settings, if such a thing existed), right?
User avatar
Posts: 2430
Joined: 22 Aug 2012

Plerry

I am not sure what is, or is not, being logged in those cases.

Irrespective of logging: the sync is not automatically performed by FFS the next time the target is/becomes on line.

However, you could use RTS for that purpose:
The function of RealTimeSync is to execute a command line ... when a directory becomes available (e. g. insert of a USB-stick)
by creating an RTS instance specifically monitoring your targte (in casu: P:\ or a suitable subdirectory thereof), and having that RTS instance launch FFS to run the relevant sync configuration upon detection of availability of your target.

Obviously you can also define a time scheduled task that launches FFS to (try to) run the relevant sync configuration at some suitable repetition interval.

But, whatever you do, you should never add sync locations that may be temporarily unavailable to FFS sync configurations that need to be able to perform FFS syncs (also) at times that any such location is not available.
Posts: 4
Joined: 3 Jan 2024

BugFix

Thx again for making me smart in using FFS ;-) that was a great help!