Post a reply

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)


Topic review


Re: Keepuptodate pushing files from starting my script

It should be -filemask="*>=%TIMESTAMP#yyyy-mm-dd hh:mm:ss%" – no brackets.
Alternatively, this might be a better solution: -filemask="*>=+0S"

Keepuptodate pushing files from starting my script


---SFTPSynch File---
@echo off
for /f "tokens=1,2 delims==" %%a in (config.txt) do (
if %%a==SourceDirectory set SourceDirectory=%%b
if %%a==SFTPUserName set SFTPUserName=%%b
if %%a==SFTPPassword set SFTPPassword=%%b
if %%a==SFTPIP set SFTPIP=%%b
if %%a==SFTPFolderLocation set SFTPFolderLocation=%%b
if %%a==HostKey set HostKey=%%b
echo %SourceDirectory%
echo %SFTPUserName%
echo %SFTPPassword%
echo %SFTPIP%
echo %SFTPFolderLocation%
echo %HostKey% /ini=nul /script=winscpsynch /parameter %SourceDirectory% %SFTPUserName% %SFTPPassword% %SFTPIP% %SFTPFolderLocation% %HostKey%

---winscpsynch file----------------
echo Starting WinSCP Utility
echo %1%
echo %2%
echo %3%
echo %4%
echo %5%
echo %6%
open sftp://%2%:%3%@%4%/ -hostkey=%6%
echo %TIMESTAMP#yyyy-mm-dd[ hh:mm[:ss]]%
# synchronize first time
synchronize remote %1% %5%
# run keepuptodate
keepuptodate %1% %5% -filemask="*>=%TIMESTAMP#yyyy-mm-dd[ hh:mm[:ss]]%"

Use Case:
The script failed the below use case.
If I delete or move files to another folder, it will recreate the newly generated file. These are the steps to reproduce:
Create a folder with a file named 1.
Run you sync script. You should see 1 in the SFTP folder.
Add a new file locally and name it 2.
The file will be synced to SFTP.
Create a new folder in the SFTP call it archive.
Move 1 and 2 in the SFTP to the archive folder.
Add a new file locally call it 3.
Now you'll see 2 files in the SFTP, 2 and 3.
Expected result: only 3 should be synced as 2 had been synced already.

Root Cause : I am passing TIMESTAMP at starting of Keep uptodate i..e it pushes files from that time.How can we update the time to current time?