Post a reply

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: Missing parameter for get command

tuhinbhuiyan wrote:

# Force binary mode transfer
get -transfer=binary
# Download file to the local directory with get -filemask rule
get remote -filemask="| /testremote/exclude*;/backups*;/dev*;/boot*;/media*;/mnt*;/proc*;/sys*;/tmp*;/run*;" /testremote* i:\backups\domain\testlocal\*

You probably want to do:

get -transfer=binary -filemask="| /testremote/exclude*;/backups*;/dev*;/boot*;/media*;/mnt*;/proc*;/sys*;/tmp*;/run*;" /testremote* i:\backups\domain\testlocal\*

Though I do not understand a point of downloading a folder and synchronizing the same folder immediately after.
tuhinbhuiyan

I need to make it work like below.... but still giving me missing parameter error and duplicate/same directory folder inside of folder.

1. Connect to remote
2. Changes directory as specified on script
3. Transfer File from remote to local (except excluded file/folder from remote followed by -filemask="| ....", If no changes has been made in remote then no file/folder will be transferred to local which will follow sync last modification -criteria=time for remote)

This script will be run through win task scheduler.
tuhinbhuiyan

Missing parameter for get command

Hi, Thanks for your response!!!

I Tried the above filemask and made out into this script as a test:

option batch on

# Disable overwrite confirmations that conflict with the previous
option confirm off
# Reconnect at each failure.
option reconnecttime 15
# SFTP/FTP Account
open root@sftp.example.com
# Directory to switch
cd /
# Force binary mode transfer
get -transfer=binary
# Download file to the local directory with get -filemask rule
get remote -filemask="| /testremote/exclude*;/backups*;/dev*;/boot*;/media*;/mnt*;/proc*;/sys*;/tmp*;/run*;" /testremote* i:\backups\domain\testlocal\*
# Synchronize Local < Remote based on last modified time
synchronize local -criteria=time i:\backups\domain\testlocal /testremote
# Exit WinSCP
exit



But I am getting missing parameter for get command within log file.. Also Fils and folder get duplicate multiple times like this below,

Correct, will add all sub directories into this: /testremote*
But non correct, will add all sub directories into this but also adds copy of everything of main directory within this: testremote/testremote/*

And for some reason it is doing the 2nd one.


Log file attached.

I would appreciate your help into this. Thanks :)
martin

Re: How to Exclude Folders and Set size+timestamp for sync?

It's like get /* i:\backups\domain\* -filemask="| /backups*;/dev*;..."

Also note that option transfer binary is deprecated, use get -transfer=binary ...
tuhinbhuiyan

can I get a reply to this, please? @prikryl
tuhinbhuiyan

How to Exclude Folders and Set size+timestamp for sync?

Hi, Winscp is really a great tool for syncing remote files as backup. At present I have this info or doing synchronization remote > local .. Which working great.

option batch on

option confirm off
open user@sftp.example.com
cd
option transfer binary
get /* i:\backups\domain\*
synchronize local i:\backups\domain\ /
exit


But I am having trouble to add Synchronization criteria for last folder/file modified time and size.

Also Wanted to exclude some directories/subfolders/files by Using option exclude "folder/file" ??.

/backups*
/dev*
/boot*
/media*
/mnt*
/proc*
/sys*
/tmp*
/run*


I tried doing this by | pipes for excluding but I might have done something wrong. :oops:

Please suggest.