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,有个时候牵涉到上传文件到文件夹(说到这里,有人会说全部以二进制文件保存到文档库啊,但是有些情况不允许的,比如 ...
随机推荐
- IBATIS sql 小于(<) 写法 特殊符号写法
SELECT * FROM XXX where column1 <![CDATA [ < 100 ]]> ************************************ ...
- E20180331-hm
corresponding adj. 相当的,对应的; 通信的; 符合的,符合; 一致的; implicitly adv. 含蓄地; 暗示地; 无疑问地; 无保留地; causal adj. 具有因 ...
- hdoj3665【简单DFS】
题意: 略. 思路: n就10而已,没有环,搜一下就好了.. #include <bits/stdc++.h> using namespace std; typedef long long ...
- BestCoder Round #74 (div.1) 1002Shortest Path(hdoj5636)
哈哈哈哈,我就知道这道题目再扔给我,我还是不会,就是这么菜,哈哈哈 一开始官方题解就没搞懂-然后就看了一下别人的代码,水水过就算了.今天拿到-GG: 题意: 一开始,有一张原图,有一条长度为n的链. ...
- 了解Hypertable
1.为什么要了解Hypertable, 因为全球最大的搜索引擎公司百度使用了Hypertable(http://www.baidu.com/s?wd=Hypertable),Hypertable类似于 ...
- bzoj1725: [Usaco2006 Nov]Corn Fields牧场的安排(状压dfs)
1725: [Usaco2006 Nov]Corn Fields牧场的安排 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1122 Solved: 80 ...
- PJzhang:Lucifer1993的struts-scan漏洞全量检测工具
猫宁!!! 参考链接: https://www.freebuf.com/sectool/149815.html 有关struts 2的漏洞测试工具,很多,不过有的已经很久没更新了,有的只是针对某一个s ...
- 一个关于国密SM4的故事
一个关于国密SM4的故事 我的名字叫SM4,我还有三位兄长,分别是大哥SM1, 二哥SM2, 和三哥SM3.说起我的名字,故事要回到2006年的时候,我出生的时候并不是叫SM4的,而是叫做SMS4.只 ...
- nginx命令介绍
[root@webmaster nginx]# ./sbin/nginx -h nginx version: nginx/1.12.2 Usage: nginx [-?hvVtTq] [-s sign ...
- Codeforces Round #405 (rated, Div. 2, based on VK Cup 2017 Round 1) E
Description Bear Limak prepares problems for a programming competition. Of course, it would be unpro ...