lftp sftp 远程同步下载文件 安装目录 显示 没有那个文件或目录

要实现从远程服务器自动同步文件到本地服务器,使用lftp。

先安装lftp(centos,离线安装),命令:

yum install lftp -y

然后测试能否远程连接,(我的是sftp,端口6622,默认ftp是21、sftp是22)命令,以下3种格式都是OK的,行不行登进去ls一下就知道了。

格式1:lftp -u username,password sftp://58.30.254.258:6622
格式2:lftp sftp://username:[email protected]:6622
格式3:lftp sftp://username@58.30.254.258 -p 6622  [需要手动输入密码]

测试成功后检查lifp的安装目录,即知道lftp的路径,命令:

which lftp

返回的/usr/bin/lftp就是你的安装路径了。(这里注意,不同服务器不同版本路径不一样,有的是/usr/sbin/lftp有的是/usr/local/bin/lftp,如果你贸然用了别人的路径代码会发现报错:没有那个文件或目录)

接下来,就可以写shell脚本了。我的是用mirror同步文件到本地,拿走不谢。

#!/bin/bash
/usr/bin/lftp < lftp -u username,password sftp://58.30.254.258:6622
mirror -vn -c --parallel=5 --only-newer /data/2018-02-01 /bigdata --exclude Client/ --exclude-glob *.tar.gz
close
bye
EOF

OK了,这样就实现了把服务器/data/2018-02-01目录下的文件同步到了本地/bigdata目录下了。

--parallel=5是进程为5个,多进程的

 --only-newer 只同步上次同步后的新文件

--exclude Client/ 排除Client/目录,也就是这个文件下东西怎么更新都不同步到本地。

----------------------------------------------------双1212分割线--------------------------------------------

昨天,安装了另一台机器的lftp,安装成功了,但是还是连不上,找了大神王老师给看,原来是对方给我开通的是172.16.206.1/24网段的地址权限,我的两个IP分别是192....和172...,但是我的gateway是配置的另一个网卡的192的,改了改,如下,报的错误就不一样了。

lftp sftp 远程同步下载文件 安装目录 显示 没有那个文件或目录_第1张图片lftp sftp 远程同步下载文件 安装目录 显示 没有那个文件或目录_第2张图片

然后,还是连不上,找了另一台能连上的机器的~/.ssh/known_hosts文件里这个地址的钥(我也不知叫啥,就是连接的记录吧)复制过去,果然,就连上了!

 

 

 

 

你可能感兴趣的:(linux)