`

文件同步技术总结

阅读更多
文件同步技术:
Linux->Linux: rsync+inotify
Window –> Linux: cwRsync + 定时任务
linux 使用NSF 映射远程磁盘目录
分布式中经常需要文件同步,综合来说性能是rsync更好,将文件同步到本地,NSF挂载安装和维护都比较简单

一.Linux
一.安装rsync
一、分别在两台在目标服务器安装Rsync服务端
1、关闭SELINUX
vi /etc/selinux/config #编辑防火墙配置文件
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
wq! #保存,退出
setenforce 0 #立即生效

2、开启防火墙tcp 873端口(Rsync默认端口)
vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
:wq! #保存退出
/etc/init.d/iptables restart #最后重启防火墙使配置生效

3、安装Rsync服务端软件
yum install rsync xinetd #安装
vi /etc/xinetd.d/rsync #编辑配置文件,设置开机启动rsync
disable = no #修改为no
:wq! #保存退出
/etc/init.d/xinetd start #启动(CentOS中是以xinetd来管理Rsync服务的)

4、创建rsyncd.conf配置文件
vi /etc/rsyncd.conf #创建配置文件,添加以下代码
logfile = /etc/rsyncd.log
pidfile = /etc/rsyncd.pid
lock file = /etc/rsync.lock
secrets file = /etc/rsync.pass
motd file = /etc/rsyncd.Motd
[test]
path = /tmp/test
comment = test
uid = root
gid = root
port=873
use chroot = no
read only = no
list = no
max connections = 200
timeout = 600
auth users = root
hosts allow = 192.20.34.122


:wq!  #保存,退出
5、创建用户认证文件
注意目标端是  用户名:密码,源端是只用 密码,权限必须600
vi /etc/rsync.pass #配置文件,添加以下内容
root:123456
设置文件权限:
chmod 600 /etc/rsyncd.conf
启动rsync
/etc/init.d/xinetd start #启动
service xinetd stop #停止
service xinetd restart #重新启动
在源端:
vi /etc/passwd.txt  写入
123456
:wq!  保存退出
chmod 600 /etc/passwd.txt  #设置文件权限,只设置文件所有者具有读取、写入权限


6.运行指令:
rsync -avH /tmp/test root@192.20.34.144::test  --password-file=/etc/passwd.txt


二、安装配置inotify 服务
1、下载安装
# wget http://nchc.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz
# tar xzvf inotify-tools-3.14.tar.gz
# cd inotify-tools-3.13
# ./configure  --prefix=/usr/local/inotify
# make
# make install
2、创建inotify_rsync.sh脚本
# vi inotify_rsync.sh
#!/bin/sh
if [ ! -f /etc/ passwd.txt];then
        echo "123456">/etc/passwd.txt
        /bin/chmod 600 /etc/passwd.txt
fi
log=/usr/local/inotify/logs/rsync.log
src="/tmp/test"
host="目标IP"
module="test"

/usr/local/inotify/bin/inotifywait -mr --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -e close_write,modify,delete,create,attrib $src |  while read DATE TIME DIR FILE; do
 
       FILECHANGE=${DIR}${FILE}
 
/usr/bin/rsync -avH --delete  --progress --password-file=/etc/ passwd.txt $src  rsyncuser@$host::$module &
echo "At ${TIME} on ${DATE}, file $FILECHANGE was backed up via rsync" >> $log
done


赋予脚本可执行权限
#chmod +x   inotify_rsync.sh
运行
#./ inotify_rsync.sh &



/usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib ${src}
-m 是保持一直监听
-r 是递归查看目录
-q 是打印出事件
-e close_write,modify,delete,create,attrib 是指 “监听 创建 移动 删除 写入 权限” 事件

/usr/bin/rsync -avH --delete  --progress --password-file
-a 存档模式
-H 保存硬连接
-delete 删除于多余文件
--password-file 密码文件

二.  Windows

window 底下需要安装cwrsync。

1. 下载cwRsync_5.5.0_x86_Free.zip。
2. 配置环境变量到 E:\cwRsync_5.5.0_x86_Free\bin
3. 创建配置文件配置rsync.conf 以及rsync.pass, 和linux的相同
4. 运行
Rsync -avP /cygdrive/e/cwRsync_5.5.0_x86_Free/etc/tmp/test      root@192.20.34.144::test/  --password-file=/cygdrive/e/cwRsync_5.5.0_x86_Free/etc/rsync.pass

5. 通过定时任务配置,多久运行

三.NSF映射远程磁盘目录
1、在两台机器上安装nsf 、 portmap

yum  install  nfs-utils  portmap

2. 修改源机器exports文件

目录 IP(rw,sync,no_root_squash) 如:
/usr/local/platform/file 192.20.34.144(rw,sync,no_root_squash)

.
service rpcbind start 
service nfs start

3.修改目标机器

service rpcbind start 
service nfs start

运行mount指令
mount -t nfs 192.20.34.122: /usr/local/platform/file  /usr/local/platform/file
分享到:
评论

相关推荐

    C#开发的文件同步工具

    总结,这个“C#开发的文件同步工具”利用了C#语言的特性和.NET Framework提供的各种服务,实现了基于FTP的文件同步功能。它涉及到文件系统操作、网络通信、配置管理、错误处理等多个IT领域的核心知识点,是C#开发中...

    c#文件同步

    ### C# 文件同步知识点 #### 一、程序目标与功能 - **主要目的**:实现文件夹间的自动同步,确保两个文件夹(A 和 B)的内容保持一致。 - **核心功能**: - 删除文件夹 A 中不存在于文件夹 B 的文件。 - 将...

    sql数据同步技术

    SQL Server 2005 数据库同步技术,特别是数据库镜像,是微软为了提升企业级数据库系统的高可用性而引入的一项重要创新。数据库镜像允许实时地将事务日志从主服务器传输到备份服务器,确保在主服务器发生故障时,备份...

    【ASP.NET编程知识】ASP.NET WebAPi(selfhost)实现文件同步或异步上传.docx

    总结来说,ASP.NET WebAPI(SelfHost)的文件同步或异步上传涉及客户端与服务器端的交互,利用HTTP协议传输文件。同步上传简单直接,但可能导致用户界面阻塞;异步上传则提升了用户体验,但需要更复杂的前端和后台...

    数字通信同步技术的MTALAB与FPGA实现》PPT版

    第1章 同步技术的概念及FPGA基础 1 1.1 数字通信中的同步技术 2 1.2 同步技术的实现方法 4 1.2.1 两种不同的实现原理 4 1.2.2 常用的工程实现途径 5 1.3 FPGA概念及其在信号处理中的应用 6 1.3.1 基本概念及...

    XP文件同步.doc

    随着远程工作的普及和技术的发展,文件同步成为了日常办公不可或缺的一部分。Windows XP操作系统中的“脱机文件夹”功能,为用户提供了离线访问网络文件的能力,同时确保了文件的一致性和最新性。本文将详细介绍如何...

    FileSync 文件监控同步工具

    FileSync是一款实用的文件监控同步工具,它主要针对的...提供的源码可供学习和二次开发,帮助用户更好地理解和利用文件同步技术,提升工作效率。对于任何需要实时文件同步的用户,FileSync都是一款值得考虑的实用工具。

    flash多文件同步上传控件1.0版发布

    总结来说,Flash多文件同步上传控件1.0版是一款针对批量文件上传需求的高效工具,它借助Flash技术实现了多文件同时上传,提高了上传效率,简化了用户操作。尽管面临HTML5的挑战,但其在某些场景下仍然具有较高的实用...

    文件资源同步工具 FastCopy

    总结来说,FastCopy 作为一款强大的文件同步工具,不仅具备高效的文件处理能力,还提供了丰富的设置选项和友好的用户界面,是IT从业人员进行文件资源管理的得力助手。正确使用FastCopy,能有效提高工作效率,降低...

    天机文件备份同步专家V8.08绿色特别版

    总结来说,天机文件备份同步专家V8.08绿色特别版是一款全面的数据保护工具,它的备份和同步功能强大且易用,有助于个人和企业用户保护重要数据,提高工作效率,同时其绿色特别版的特点使得它在安装和使用上更加便捷...

    Atom-Silent-Sync,工作时自动处理文件同步。.zip

    Atom-Silent-Sync 是一个专为 Atom 文本编辑器设计的插件,旨在实现工作时的自动文件同步功能。这个插件的核心特点是“无声”,意味着它在后台默默地、无感知地进行文件更新,确保你在编辑代码时始终保持最新的版本...

    Oracle数据库同步技术.pdf

    ### Oracle数据库同步技术详解 #### 一、Oracle 数据同步技术概览 Oracle 数据库作为业界广泛使用的数据库管理系统之一,为了满足企业级应用对于数据高可用性和灾难恢复的需求,提供了多种数据同步技术。这些技术...

    PDA 和PC同步 Sync framework 同步技术

    **PDA(Personal Digital Assistant,个人数字助手)与PC之间的同步技术是现代移动设备与桌面系统协同工作的重要一环。Sync Framework是由微软开发的一种全面的数据同步解决方案,它为开发者提供了强大的工具来处理...

    基于文件同步的ORACLE数据库备份与恢复方法.pdf

    - 文件同步备份:结合了脱机备份的一致性和联机备份的连续性,通过文件同步技术在不停止数据库服务的情况下创建一致性的备份。 3. 检查点机制 - 检查点是数据库状态的一个标记,用于在恢复过程中确定哪些事务已...

    远程文件和文件夹同步到服务器的源代码

    总结起来,这个源代码可能实现了一个高效、智能的文件同步工具,具备差异检查、增量同步和文件压缩功能,旨在确保远程文件和文件夹与服务器保持一致,同时优化网络资源的使用。通过分析和理解这些源代码,我们可以...

    远程文件同步

    远程文件同步是一种确保在不同计算机系统之间保持文件一致性的重要技术。本篇内容详细介绍了如何在Windows和Linux之间进行远程文件同步的过程,主要利用了`cwRsync`工具。`cwRsync`是一款在Windows平台上运行的rsync...

    基于Electron和Vue.js的文件同步客户端

    总结来说,基于Electron和Vue.js的文件同步客户端利用了两者的优势,为用户提供了一个方便、高效、安全的文件同步工具。无论是对于个人用户还是企业用户,这样一款跨平台的应用都能极大地提升文件管理和协作的效率。

    行业分类-设备装置-多媒体文件同步方法、装置以及终端.zip

    总结来说,“行业分类-设备装置-多媒体文件同步方法、装置以及终端”这个主题涵盖的内容广泛,涉及到多媒体文件管理、设备间的数据同步、以及在实现这一目标时所面临的各种技术和安全问题。理解并掌握这些知识点对于...

Global site tag (gtag.js) - Google Analytics