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. linux线程笔记1之创建线程

    1 线程与进程的对比 这里有一个笔记详细的阐述 http://blog.csdn.net/laviolette/article/details/51506953 2 创建线程函数 int pthrea ...

  2. UVaLive 6588 && Gym 100299I (贪心+构造)

    题意:给定一个序列,让你经过不超过9的6次方次操作,变成一个有序的,操作只有在一个连续区间,交换前一半和后一半. 析:这是一个构造题,我们可以对第 i 个位置找 i 在哪,假设 i  在pos 位置, ...

  3. JAVA基础--JAVA语言组成01

      2.   标识符 2.1.   定义: 就是用来起到 标识作用的符号: (就是程序员对自己定义的东西起的名字) 2.2.   命名规则(语法规定的,必须遵守的): 1.可以由大小写字母.数字.下划 ...

  4. poj3185//BFS随便切...

    //poj 3185 2 //利用bit,通过位运算切换状态 ,然后BFS一下,轻易水过. 3 //说完好像很简单...是的,简单是简单,弱第一次以这种位运算姿势过题,太劲.膜思路 ORZ... 4 ...

  5. Linux 问题 卸载setup.py方式安装的python包

    python ./setup.py install --record install.txt  cat install.txt | xargs rm -rf

  6. js中的预解释

    在js中,带var 和function关键字的需要预解释: 那什么是预解释?就是在js代码执行之前,先申明好带有var 关键字和带有function关键字的变量,在内存里先安排好.但是带有var关键字 ...

  7. 报错org.springframework.dao.DataIntegrityViolationException

    最简单的原因可能是数据库外键字段选择了不能为空, 改为允许为空就行了.

  8. 黑客攻防技术宝典web实战篇:工具web服务器习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在什么情况下 Web 服务器会显示目录列表? 如果请求某目录的 URL 且满足以下条件,W ...

  9. PJzhang:工作之余一起来看剧

    猫宁!!! 最近几个月陆续看了4部电视剧,不错,分别来自4个国家或地区,英国.日本.中国香港.俄罗斯,是的,没有美剧,平时真的很少看美剧. 1-IT狂人,英剧,一共4季,每季6集,每集25分钟左右. ...

  10. 修改static控件背景颜色和文字颜色

    当 static 控件或具有 ES_READONLY 风格的 edit 控件被绘制时,会向父窗口发送 WM_CTLCOLORSTATIC 消息.如果我们在窗口过程中处理该消息,就必须返回一个画刷句柄, ...