Post a reply

Before posting, please read how to report bug or request support effectively.

Bug reports without an attached log file are usually useless.

Options
Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)

Options

Topic review

martin

Re: Session.SynchronizeDirectories() does not detect any change when remote file changes multiple time

Yes, WinSCP .NET assembly supports SFTP.
squayum

Session.SynchronizeDirectories() does not detect any change when remote file changes multiple time

Hi Martin,
I added following to resolve the timezone/ local time problem.
SessionOption.AddRawSettings("PreserveTime", "1");
SessionOption.AddRawSettings("ConsiderDST", "1");
Session.AdditionalExecutableArguments"/ConsiderDST=1 /PreserveTime=1";
1. But this did not fix the problem, it fails to copy the file in the local server after synchronisation. Do you have any library software fix for this problem?

2. You mentioned about using SFTP instead of using SCP to resolve this problem.
Currently I have Assembly WinSCPnet, Version=1.5.3.8172, Culture=neutral, PublicKeyToken=2271ec4a3c56d0bf. Is SFTP part of WinSCPnet, or I need to download different dll? If you could kindly provide some details for this. Thank you.
martin

Re: Session.SynchronizeDirectories() does not detect any change when remote file changes multiple time

The file is downloaded in the first run:
. 2022-04-12 16:40:25.584 Transfer done: 'PLANT2/Data/VMAUN1S0229S2.pkg' => 'C:/ProgramData/CMS/PLANT2/Inbox/data/\VMAUN1S0229S2.pkg' [60]

It's even confirmed by the second run, where the local file obviously have an updated timestamp (although incorrectly, probably because of a timezone/DST mismatch)
. 2022-04-12 16:47:38.198 Local file 'C:/ProgramData/CMS/PLANT2/Inbox/data/\VMAUN1S0229S2.pkg' [2022-04-12T15:34:26.000Z] [60] is modified comparing to remote file 'PLANT2/Data/VMAUN1S0229S2.pkg' [2022-04-12T14:46:49.000Z] [60]

Why are you even using SCP? Use SFTP and you should not have timezone/DST problems.

And the local path should use backslashes (C:\ProgramData\CMS\PLANT2\Inbox\data\), not forward slashes (C:/ProgramData/CMS/PLANT2/Inbox/data/).
squayum

Session.SynchronizeDirectories() does not detect any change when remote file changes multiple time

Hi Martin, I have added the winscp log file for you. The file that was changed in the remote server is VMAUN1S0229S2.pkg. The log file detected the changes of VMAUN1S0229S2.pkg, but did not copy the file in the local server. Please see the log for details. Thank you.
martin

As with your other question, please post a session log file documenting the problem. Give us a name of a file that we should look for in the log.
squayum

Hi Martin,
I have added the following:
SessionObject.AddRawSettings("PreserveTime", "1");
SessionObject.AddRawSettings("ConsiderDST", "1");
I also added: session.AdditionalExecutableArguments = "/ConsiderDST=1 /PreserveTime=1";
Despite that the following method does not detect any file change and transfer the file to local server after 1st time.
File mask was:
TransferOptions options = new TransferOptions() { FileMask = ">2022-04-04" };
transferResult = s.SynchronizeDirectories(SynchronizationMode.Local, ps.t_local, ps.f_remote, true, false, SynchronizationCriteria.Time, options);

Despite that it does not detect remote server file change. It works only 1st time change. It did not work when file changed after 1st time. Do you know the reason why it does not synchronise after 1st time?
Hi have you got any idea why directory synchronization is not working?
squayum

Session.SynchronizeDirectories() does not detect any change when remote file changes multiple time

I was trying to sync the local server with the remote server using WinSCP library in .NET C# environment (Assembly WinSCPnet, Version=1.5.3.8172, Culture=neutral, PublicKeyToken=2271ec4a3c56d0bf), using the method called Session.SynchronizeDirectories() in Session class. It does not work consistently. I have tried the same sync using WinSCP tool, it works. But I had to set the following parameters to make it work:

  1. Adjust remote time with DST
  2. Time zone offset to 1.

In the software Session class library routine I can’t see a place where you insert this information.
Do you have any idea where time zone offset and DST are set for synchronising directories using Session.SynchronizeDirectories() method?