sftp ftp文件同步方案
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
rpm -ivh inotify-tools-3.14-1.el5.x86_64.rpm
3.1.2centos6.4安装inotify
#参考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文件同步方案的更多相关文章
- 公司和家里代码文件同步方案: (git和dropbox实现)
公司和家里代码文件同步方案: (git和dropbox实现) 参与公司福利购入了有补贴的macbook pro后, 就不用上下班背着电脑了. 但是也出现了另外一问题: 家里和公司代码同步的问题 公司有 ...
- win10文件备份、文件同步方案
用个人版onedrive同步重要数据,数据安全有保障,但免费版只有15G空间,需要合理分配.(201907与别人合租家庭版,空间1T充足) google-drive可以同步指定的文件夹,但空间也只有1 ...
- Ftp实现文件同步
通常在做服务器与服务器文件.服务器与本地文件同步时通过Ftp服务实现,下面就以服务器文件和本地同步为例,介绍一下Ftp同步文件:首先建立一个Ftp站点服务,基本身份验证登陆,端口号为默认的21:Ftp ...
- 云server之间实时文件同步和文件备份的最简单高效的免费方案
分布于不同云计算中心的多台云server,通常须要进行文件同步.以满足业务的须要. 传统的文件同步方案,部署繁琐.同步实时性差.无法令人惬意. 端端Clouduolc,一款纯p2p方式的文件实时 ...
- 前端web服务器数据同步方案
概述: 网站采用了web和mysql数据库分离的架构,前端有web1.web2.web3需要对他们进行上传文件同步 方案: 在web2的windows服务器上安装GoodSync软件,利用其双向同步特 ...
- 使用WinSCP进行简单代码文件同步
前言传输协议FTPFTPSSFTPSCP为什么使用WinSCP?CMD的FTP命令FileZillaPuTTYrsyncSublime的SFTP插件WinSCPWinSCP进行简单代码文件同步总结备注 ...
- 使用NextCloud搭建私有网络云盘并支持Office文档在线预览编辑以及文件同步
转载自:https://www.bilibili.com/read/cv16835328?spm_id_from=333.999.0.0 0x00 前言简述 描述:由于个人家里的NAS以及公司团队对私 ...
- FTP文件服务搭建与同步传输
需求 搭建一台FTP服务器,用于文件的上传与下载:同时将FTP服务器目录中的文件同步到多个服务器中,实现同步更新,同时文件需要控制用户访问对应的文件夹权限. 需要用到的软件有:bestsy ...
- sharepoint多个NLB的web前段如何进行文件同步?
大家都知道,sharepoint2010服务器场可能有2个或2个以上的web服务器做NLB,有个时候牵涉到上传文件到文件夹(说到这里,有人会说全部以二进制文件保存到文档库啊,但是有些情况不允许的,比如 ...
随机推荐
- 百度也推出公共DNS服务:180.76.76.76(转载)
转自:http://www.cnbeta.com/articles/352221.htm
- 如何实现session的共享?
1.以cookie加密的方式保存在客户端. 优点是减轻服务器端的压力 缺点是受到cookie的大小限制,可能占用一定带宽,因为每次请求会在头部附带一定大小的cookie信息,另外这种方式在用户禁止使用 ...
- Codeforces Round #357 (Div. 2)C. Heap Operations
用单调队列(从小到大),模拟一下就好了,主要是getMin比较麻烦,算了,都是模拟....也没什么好说的.. #include<cstdio> #include<map> #i ...
- IDEA打开父类的接口方法快捷键
有两个类,分别为A类是接口.B类为A的实现类. 如果想在B类里的某个方法,打开A类 可以鼠标右键点击这个方法名,按下键盘:Ctrl+U,就可以跳转到A类接口的该方法上面.
- CI框架错误汇总
2017年1月13日12:09:02 [1] A PHP Error was encounteredSeverity: NoticeMessage: Undefined variable: aticl ...
- Fzu Problem 1901 Period II (kmp)
题目链接: Problem 1901 Period II 题目描述: 给出一个串,满足长度为p的前缀和长度为p的后缀相等的p的个数,输出p的个数,和p分别是多少? 解题思路: 对kmp的next数组的 ...
- 题解报告:poj 2480 Longge's problem(欧拉函数)
Description Longge is good at mathematics and he likes to think about hard mathematical problems whi ...
- HAL之EXIT
在STM32cubeMX中 1 在GPIO管脚上选定EXIT功能 2 在GPIO模式中设定触发边沿类型 3 在NVIC中设定NVIC分组及使能EIXT_Line0_interrupt 在MDK中的GP ...
- maven编译报错 -source 1.5 中不支持 lambda(或diamond) 表达式,编码 UTF-8 的不可映射字符
在用maven编译项目是由于项目中用了jdk 1.8, 编译是报错 -source 1.5 中不支持 lambda 表达式. 错误原因: Maven Compiler 插件默认会加 -source ...
- [转]java注解与APT技术
下面是一个简单的自定义注解的栗子: package annotation; import java.lang.annotation.Documented; import java.lang.annot ...