synchronize remote -nopermissions -criteria=either -delete WINPATH_SourceDirectory FTPS_TargetDirectory
It is written in your documentation:
Synchronization or keep remote directory up to date functions are not working. Why?
With FTP protocol, the server may not support preserving timestamps of uploaded files. Usage of synchronization in local to remote direction is limited then.
I don't have 100% reliable line (it is impossible) and I use FTPS protocol to "synchronize" Windows 2k8R2 files with NTFS ReadyNAS with some firmware based on Linux. And this is big problem, if the transfer is aborted due to any reason. I see new remote file with the new timestamp, but the file is false.
It exists two methods how to solve this problem:
1) Suggested for SFTP protocol only (why for one protocol only?) - transfer with other name - extension (for example "*.$$$") and after successful transfer rename this transfered file to properly name with the good timestamp. After starting synchronization delete all files with this mask *.$$$ and then start standard synchronization.
2) Change the remote command - add mirror and diff:
synchronize remote -nopermissions -criteria=either -delete -mirror -diff=43200 WINPATH_SourceDirectory FTPS_TargetDirectory
Standard datetime difference is 2 seconds (FAT x NTFS x Other...). It should be create one extra parameter "Difference" in seconds.
This parameter would overwrite standard 2 seconds deviation (generaly) with the new difference in the allowed interval range <2..(86400-2)> ==> 24hours-2secs
Actual comparise function is (I think):
IF ABS(TargetDateTimeFile - SourceDateTimeFile) > 2 secs THEN doCopy(synchro)
should be changed to:
IF ABS(TargetDateTimeFile - SourceDateTimeFile) > Difference THEN doCopy(synchro)
This difference should be possible to set by synchronize command for local, remote with or without mirror parameter.
Is it integrate one of this method or other idea how to solve this problem with the unreliable line please? I found only some notice about the first method and for one protocol only and in beta version. I think that the second method will not be difficult to implement into WinSCP, if this parameter doesn't exist.
Thank you very much for any help or suggests.