美文网首页
ftp同步数据到服务器

ftp同步数据到服务器

作者: 小木胆 | 来源:发表于2017-09-26 14:35 被阅读0次

现在有同步数据到服务器的需求。按道理来讲,一般是通过sftp来做最为合适,比如:

scp -r /local/path user@host_name:/remote/path

在这里添加好ssh免密码或者使用sshpass即可。

但是客户回答说只能用ftp, 不能使用sftp。因为ssh登录密码将来会收回去。。。

这下就比较麻烦了,在网上搜了一下,此类问题早就有人解决过了:

#!/bin/bash 
updir=/root/tmp
todir=tmp
ip=127.0.0.1
user=username
password=passwd
sss=`find $updir -type d -printf $todir/'%P\n'| awk '{if ($0 == "")next;print "mkdir " $0}'` 
aaa=`find $updir -type f -printf 'put %p %P \n'` 
ftp -nv $ip <<EOF 
user $user $password
type binary 
prompt 
$sss 
cd $todir 
$aaa 
quit 
EOF

解决方法就是用find找出所有的目录,然后在ftp命令行里执行对应的创建。完成后继续用find命令找到文件放到远端创建好的文件夹里。

这个方法我用了一下,的确可用。但是我仍感觉命令稍显繁琐,而且每次执行都会覆盖原有的文件,或许有命令能检查重复文件来跳过,但是研究起来比较花时间。直到我发现机器上已安装了lftp工具,在ftp SHELL里直接一行搞定:

lftp $username:$password@$host
#此时进入ftp shell
mirror -R /local/path /remote/path

就能自动同步本地文件到远程主机。

如果要编写脚本来自动执行,可以照着上面的套路这么写:

lftp <<EOF
open $username:$password@$host
mirror -R /local/path /remote/path
quit
EOF

其实lftp本身有个-c的选项来读入命令:

lftp -c "open $username:$password@$host && mirror -R /local/path /remote/path"

结束后会自动退出。

另外也可以通过管道来执行:

echo "open $username:$password@$host && mirror -R /local/path /remote/path" | lftp

lftp使用上远比ftp命令好用,很多linux发行版默认安装的,除了debian。。。

相关文章

  • ftp同步数据到服务器

    现在有同步数据到服务器的需求。按道理来讲,一般是通过sftp来做最为合适,比如: 在这里添加好ssh免密码或者使用...

  • expect实现sftp文件同步

    工作中突然遇到一个问题:文件同步接口同步的数据不全。现象如下(上图为ftp服务器,下图为本机): 对比分析发现,不...

  • 大数据传输-FTP连接池

    场景 因公司项目需要开发FTP模块,通过FTP方式同步数据到安防内外,之前使用commons-net框架发现程序运...

  • MAC中PhpStorm 设置自动FTP同步文件

    PhpStorm 设置自动FTP同步文件 1、添加一个FTP服务器 ① 首先在这里打开添加FTP的页面,步骤,工具...

  • lftp工具

    云服务器资料(代码APP,SVN,数据库)备份资料都是需要同步至本地存储上,lftp协议配合ftp,sftp,ht...

  • sersync基于rsync+inotify实现数据实时同步

    前言 提到数据同步就必然会谈到rsync,一般简单的服务器数据传输会使用ftp/sftp等方式,但是这样的方式效率...

  • 远程部署项目到服务器【WebStorm小技巧】

    使用WebStorm可以远程部署项目到服务器, 支持ftp/sftp等多种协议,还可以设置自动同步,非常方便。第一...

  • FTP协议

    FTP服务器的模式 FTP服务器工作端口 TCP21 命令传输端口 TCP20 数据传输端口 主动模式 FTP主动...

  • 数据库主从同步配置(二十九)

    一、主从同步意义是什么? 主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主...

  • 数据库设计连接

    数据库建模工具 MySQL Workbench 同步到数据库 同步到远程服务器如果发生如下错误 这就需要在远程服务...

网友评论

      本文标题:ftp同步数据到服务器

      本文链接:https://www.haomeiwen.com/subject/djmsextx.html