Synchronizing directory hierarchies via SFTP
Michael Ross
gmx at ross.cx
Wed Dec 9 01:06:23 UTC 2015
Am .12.2015, 01:25 Uhr, schrieb dweimer <dweimer at dweimer.net>:
> 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.
>
lftp just calls out to the system ssh binary, so you can do that via
sftp:connect-program "ssh -a -x -i yourprivatekeyfile"
Courtesy of
http://stackoverflow.com/questions/11577090/lftp-with-key-passphrase
Michael
More information about the freebsd-questions
mailing list