Synchronizing directory hierarchies via SFTP

dweimer dweimer at dweimer.net
Wed Dec 9 00:37:16 UTC 2015


On 2015-12-08 6:13 pm, Patrick Hess wrote:
> Michael Ross wrote:
>> Am .12.2015, 00:43 Uhr, schrieb Patrick Hess <patrickhess at gmx.net>:
>> > Just came across LFTP, http://lftp.yar.ru. According to the feature list,
>> > it has support for SFTP and also comes with a "built-in mirror and
>> > reverse mirror" option.
>> 
>> lftp is used a lot here to mirror directories via sftp. Would 
>> recommend.
> 
> Tried it today, works like a charm. In comparison to csync, I noticed
> that the initial directory traversal in particular is a lot faster
> with LFTP. And since there's still a big question mark behind sshfs
> regarding its stability on FreeBSD, I'll just settle for LFTP and
> call it a day.
> 
>> Check out the fine-tuning available with "set -a".
> 
> Wow, that's a lot of stuff to mess up... Maybe some other day.
> So far, the defaults seem to work just fine for me.
> 
> Patrick
> 
> PS: Here's the quick'n'dirty Expect script I hacked together,
>     in case someone has a use for it.
> _______________________________________________________________________
> 
> expect -c '
>    set timeout -1;
> 
>    spawn lftp -u '"$SFTP_USERNAME"' sftp://'"$SFTP_SERVER"';
> 
>    expect "Passwor\[dt\]:";
>    send "'"$SFTP_PASSWORD"'\r";
> 
>    expect "lftp *> ";
>    send "mirror -v --reverse --dereference --delete --overwrite
> --exclude-glob *.swp '"$LOCAL_DIR"' '"$REMOTE_DIR"'\r"
> 
>    expect "lftp *> ";
>    send "quit\r";
> 
>    expect eof;
>    '
> _______________________________________________________________________
> 
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to 
> "freebsd-questions-unsubscribe at freebsd.org"

I am not familiar with lftp, so it may not have support for it, but if 
it were me doing this, I would look into using public/private OpenSSH 
key pairs instead of sending the password with the expect script.

-- 
Thanks,
    Dean E. Weimer
    http://www.dweimer.net/


More information about the freebsd-questions mailing list