sftp ftp文件同步方案

1. 需求

1.1实现网关服务器的ftp服务器的/batchFileRequest目录下文件向徽商所使用的sftp服务器的/batchFileRequest目录同步文件

1.2实现徽商所使用的sftp服务器的/batchFileResult目录文件向网关服务器的ftp服务器/batchFileResult目录同步文件

1.3实现徽商所使用的sftp服务器的/statement目录文件向网关服务器的ftp服务器/statement目录同步文件

1.4同步文件方向如下图所示

2. 实现所使用的技术

rsync+inotify+shell脚本实现

3. 配置安装准备

3.1安装inotify

3.1.1 redhat5.10安装inotify

wget ftp://mirror.us.oneandone.net/software/repositories/fedora-epel/5/x86_64/inotify-tools-3.14-1.el5.x86_64.rpm

rpm -ivh inotify-tools-3.14-1.el5.x86_64.rpm

3.1.2centos6.4安装inotify

wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/inotify-tools-3.13-1.el6.rf.x86_64.rpm

#参考http://www.1987.name/637.html

3.2配置rsync同步目录

3.2.1两端rsync配置文件增加相应内容,并重启rsync服务

vi /etc/rsync.conf

#  配置uat环境sftp同步目录到ftp的batchFileResult目录

[uat_batchFileResult]

uid = glassfish

gid = glassfish

path = /sumapay/ftp/bankTrusteeship/hsb/batchFileResult

comment = sumapay update files

read only = no

auth users = rsync

#  配置uat环境sftp同步目录到ftp的statement目录

[uat_statement]

uid = glassfish

gid = glassfish

path = /sumapay/ftp/bankTrusteeship/hsb/statement

comment = sumapay update files

read only = no

auth users = rsync

#  配置uat环境同步到sftp目录batchFileRequest

[uat_batchFileRequest]

uid = ysxsftp

gid = sftp

path = /data/sftp/ysxsftp/batchFileRequest

comment = sumapay update files

read only = no

auth users = rsync

4. 编写脚本

4.1batchFileRequest目录同步脚本

vi rsync_batchFileRequest.sh

#!/bin/bash

#将ftp服务器/batchFileRequest目录下的文件同步到sftp的/batchFileRequest目录下

batchFileRequest=/sumapay/ftp/bankTrusteeship/hsb/batchFileRequest

/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,move,attrib $batchFileRequest| while read files

do

rsync   -avcmP --remove-source-files  --password-file=/etc/c_rsyncd.pwd /sumapay/ftp/bankTrusteeship/hsb/batchFileRequest/ rsync@172.16.3.6::uat_batchFileRequest/

done

#备注此脚本后台运行于ftp服务器

4.2batchFileResult目录同步脚本

vi rsync_batchFileResult.sh

#!/bin/bash

#将sftp服务器/batchFileResult目录下的文件同步到ftp的/batchFileResult目录下

batchFileResult=/data/sftp/ysxsftp/batchFileResult/

/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,move,attrib $batchFileResult| while read files

do

rsync  --delete -avcmP --password-file=/etc/c_rsyncd.pwd $batchFileResult rsync@172.16.3.2::uat_batchFileResult/

done

#备注此脚本后台运行于sftp服务器

4.3 statement目录同步脚本

vi rsync_statement.sh

#!/bin/bash

#将sftp服务器/statement目录下的文件同步到ftp的/statement目录下

statement=/data/sftp/ysxsftp/statement/

/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,move,attrib $statement| while read files

do

mkdir -p /backup/ysxsftp/statement/`date +%Y%m%d`/
cp -rf /data/sftp/ysxsftp/statement/*  /backup/ysxsftp/statement/`date +%Y%m%d`/

rsync  --delete -avcmP --password-file=/etc/c_rsyncd.pwd $statement rsync@172.16.3.2::uat_statement/

done

#备注此脚本后台运行于sftp服务器

5. 配置后台运行和开启自启动

sftp ftp文件同步方案的更多相关文章

  1. 公司和家里代码文件同步方案: (git和dropbox实现)

    公司和家里代码文件同步方案: (git和dropbox实现) 参与公司福利购入了有补贴的macbook pro后, 就不用上下班背着电脑了. 但是也出现了另外一问题: 家里和公司代码同步的问题 公司有 ...

  2. win10文件备份、文件同步方案

    用个人版onedrive同步重要数据,数据安全有保障,但免费版只有15G空间,需要合理分配.(201907与别人合租家庭版,空间1T充足) google-drive可以同步指定的文件夹,但空间也只有1 ...

  3. Ftp实现文件同步

    通常在做服务器与服务器文件.服务器与本地文件同步时通过Ftp服务实现,下面就以服务器文件和本地同步为例,介绍一下Ftp同步文件:首先建立一个Ftp站点服务,基本身份验证登陆,端口号为默认的21:Ftp ...

  4. 云server之间实时文件同步和文件备份的最简单高效的免费方案

     分布于不同云计算中心的多台云server,通常须要进行文件同步.以满足业务的须要. 传统的文件同步方案,部署繁琐.同步实时性差.无法令人惬意. 端端Clouduolc,一款纯p2p方式的文件实时 ...

  5. 前端web服务器数据同步方案

    概述: 网站采用了web和mysql数据库分离的架构,前端有web1.web2.web3需要对他们进行上传文件同步 方案: 在web2的windows服务器上安装GoodSync软件,利用其双向同步特 ...

  6. 使用WinSCP进行简单代码文件同步

    前言传输协议FTPFTPSSFTPSCP为什么使用WinSCP?CMD的FTP命令FileZillaPuTTYrsyncSublime的SFTP插件WinSCPWinSCP进行简单代码文件同步总结备注 ...

  7. 使用NextCloud搭建私有网络云盘并支持Office文档在线预览编辑以及文件同步

    转载自:https://www.bilibili.com/read/cv16835328?spm_id_from=333.999.0.0 0x00 前言简述 描述:由于个人家里的NAS以及公司团队对私 ...

  8. FTP文件服务搭建与同步传输

    需求       搭建一台FTP服务器,用于文件的上传与下载:同时将FTP服务器目录中的文件同步到多个服务器中,实现同步更新,同时文件需要控制用户访问对应的文件夹权限. 需要用到的软件有:bestsy ...

  9. sharepoint多个NLB的web前段如何进行文件同步?

    大家都知道,sharepoint2010服务器场可能有2个或2个以上的web服务器做NLB,有个时候牵涉到上传文件到文件夹(说到这里,有人会说全部以二进制文件保存到文档库啊,但是有些情况不允许的,比如 ...

随机推荐

  1. NYOJ7——街区最短路径问题

    街区最短路径问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:4  描述:一个街区有很多住户,街区的街道只能为东西.南北两种方向.住户只可以沿着街道行走.各个街道之间的间隔相等 ...

  2. bzoj 2882: 工艺【SAM】

    看上去比较SA,但是在学SAM所以就用SAM来做-- 把串复制一遍接在后面,对这个新串求SAM(这里的儿子节点要用map转移),然后从根节点每次都向最小的转移走,这样走n次转移的串就是答案 #incl ...

  3. 前端笔记之React(二)组件内部State&React实战&表单元素的受控

    一.组件内部的State 1.1 state state叫状态,是每一个类式组件都有的属性,但函数式组件,没有state. state是一个对象,什么值都可以定义. 在任何类式组件的构造函数中,可以用 ...

  4. python 蓝牙模块pybluz安装

    最近项目运用了蓝牙,所以来学一学蓝牙. 经过查阅,知道python的蓝牙模块是pybluz,然后老管理进行安装 出错,提示“Could not find the Windows Platform SD ...

  5. AppStore 审核拒绝原因记录

    此文仅记录审核app被拒绝的原因 1.未提供充值功能,app中出现vip或者会员图标文字 被拒 解决,隐藏或取消该图标或文字 2.第三方登录,需要跳转到第三方app登录 被拒 解决,审核时隐藏第三方登 ...

  6. Beautiful People SGU - 199 ZOJ - 2319

    最长上升子序列O(n log n):http://www.cnblogs.com/hehe54321/p/cf-340d.html 题目:https://cn.vjudge.net/problem/Z ...

  7. Hadoop工作流--JobControl(五)

    不多说,直接上干货! 这只是部分,做个引子. 未完,待续!

  8. php传json格式给C++时乱码解决方案

    今天在做给C++传json数据时,C++无法识别到中文 网上查下原因有json只支持utf-8,但是我的整个项目编码都是utf8的,没有出现过其它编码,所以问题还是抛给了C++解决,后来经一高手解答说 ...

  9. PHP的知识点总结1

    PHP 基础知识总结 2015-06-03 分类: 编程技术   PHP 代表 PHP: Hypertext Preprocessor PHP 文件可包含文本.HTML.JavaScript代码和 P ...

  10. Kotlin学习的一些笔记

    Introduction 写在前面 关于本书 这本书适合你吗? 关于作者 介绍 什么是Kotlin? 我们通过Kotlin得到什么 准备工作 Android Studio 安装Kotlin插件 创建一 ...