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. The IBM Blockchain Platform: Develop pre-requisites

    Installing pre-requisites The IBM Blockchain Platform: Develop pre-requisites can be installed on Ub ...

  2. React 从入门到进阶之路(九)

    之前的文章我们介绍了 React propTypes  defaultProps.接下来我们将介绍 React 生命周期函数. 之前我们已经根据 create-react-app 模块创建了一个 Re ...

  3. PTA 螺旋方阵

    所谓"螺旋方阵",是指对任意给定的NNN,将1到N×NN\times NN×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×NN\times NN×N的方阵里.本题要求 ...

  4. 开挂的map

    转自:http://blog.csdn.net/sunshinewave/article/details/8067862 #include<iostream> #include<ma ...

  5. 基于FBX SDK的FBX模型解析与加载 -(二)

    http://blog.csdn.net/bugrunner/article/details/7211515 5. 加载材质 Material是一个模型渲染时必不可少的部分,当然,这些信息也被存到了F ...

  6. 用纯XMLHttpRequest实现AJAX

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  7. mui 中在windows中打开新页面

    <!doctype html><html> <head> <meta charset="utf-8"> <title>& ...

  8. elasticsearch映射 mapping

    mapping的格式个应用,主要是创建索引(数据库)的时候指明type 的field类型,然后elasticsearch可以自动解析

  9. CSS3向上移动的效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Codeforces Round #544 (Div. 3) C. Balanced Team

    链接:https://codeforces.com/contest/1133/problem/C 题意: 给n个数, 在这n个数中选最多n个数,来组成一个队伍. 保证这n个数的最大最小差值不大于5. ...