linux服务器间文件相互传输

    ​    ​​场景:因前期设计得失误,导致应用中得富文本上传服务器并没有单独传到相应得文件服务器上,而是直接上传到应用所属的服务器上​。若是就一台服务器也没什么问题,问题是若是对服务做了负载均衡,就会出现问题,有可能你上传的文件在服务器A上,但是当你通过域名访问到服务器B上的时候,就会找不到相应的文件​。

    ​    ​针对这种情况,前期考虑是将所有服务器文件同步,做到每台服务器上都有这个文件,这样就不会有什么问题,当然后期肯定会抽出单独的文件服务器进行访问​。下面来说服务器同步文件问题​。

    ​    ​Linux情况下想要做到同步需要了解lftp 的sftp用法,不知道的可以去度娘下,我这边就简单的说下​:

lftp sftp://[user name]:[user passwd]@[domain name]:[port number]

前期准备两台服务器A、B,现在A服务器创建几张图片,向B服务器传输,现在直接上shell脚本,进行同步​:

#! /bin/bash# set sftp:auto-confirm yesexport DUMP_TAG=`date +"%Y%m%d"`echo 日期:$DUMP_TAGexport putfilepath="/data/work/image/"$DUMP_TAGecho putfilepath $putfilepath    if [ ! -d $putfilepath  ];then    mkdir $putfilepath   else    echo dir exist  fi          for file in `ls $DUMP_TAG`       #注意此处这是两个反引号,表示运行系统命令        do            if [ -d $DUMP_TAG"/"$file ]  #注意此处之间一定要加上空格,否则会报错            then                read_dir $DUMP_TAG"/"$file            else                echo $DUMP_TAG"/"$file   #在此处处理文件即可    lftp sftp://root:P@ssw0rd@XXX.XXX.XXX.XXX:22 -e "cd $putfilepath; put $DUMP_TAG'/'$file; ls; bye"            fi        done

注意:这个脚本加的有日期限制,只能同步执行的这天的数据,同步之前的或者所有的需要修改脚本,你们可自行修改,这边验证亲测没什么问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值