化妆品网站模板下载,买东西的网站都有哪些,朋友圈网站怎么做的,商业网站建站在日常运维工作中#xff0c;经常会遇到这样的情况#xff1a;我们需要在无人值守的情况下完成文件、文件夹的同步过程#xff0c;已实现周期性的备份#xff0c;避免单点故障。本研究实现了本地Windows主机与远程Windows主机#xff0c;本地Windows主机与远程Linux主机目… 在日常运维工作中经常会遇到这样的情况我们需要在无人值守的情况下完成文件、文件夹的同步过程已实现周期性的备份避免单点故障。本研究实现了本地Windows主机与远程Windows主机本地Windows主机与远程Linux主机目录的定时自动同步。实验在Windows2003,REHL5.4下实验通过。 一、软件准备 Linux下有rsyncWindows下也有类似的软件就是cwRsync,此软件分为服务器端/客户端。目前最新版本为4.04版cwRsyncServer_4.0.4_InstallercwRsync_4.0.4_Installer。 cwRsync打包了Rsync和Cygwin使用cwRsync可以进行快速的远程备份和同步。Rsync使用了Rsync算法通过它可以非常快的进行远程文件的同步。这种算法只需要在链路上传递文件不同的部分而不需要提前在一端准备好文件所有版本的。乍一看这似乎是不可能的因为计算两个文件之间的不同通常需要本地访问的这两个文件。 Rsync通常使用ssh进行数据通讯安装它不需要任何特殊权限但是你必须有一个可以运行ssh软件系统。 作为选择rsync可以运行在守护进程模式监听一个socket端口。这通常是用于公共文件的分发虽然身份验证和访问控制是可利用的。Cygwin是一个Windows下类linux系统环境。它由一个DLLcygwin1.dll,模拟大量的Linux API功能以及工具的集合。 详细情况可通过http://itefix.no/cwrsync/了解。 二、初始化安装 cwRsync支持多种平台client – NT/2000/XP/2003/Vista/7Server – NT/2000/2003/2008/Vista/7. cwRsync已一个zip压缩包包含一个Windows下安装程序形式发布。解压下载文件运行cwRsync_x.x.x_Installer.exe或者cwRsync_Server_x.x.x_Installer.exe(服务器版) 欢迎页面点击“Next”进入 。 查看License协议。 根据安装包的不同选在安装组件客户端安装包有一个可选项Secure Channel Wrapper Wizard它做一个简单的工作安装一个安全的连接方式与服务器端程序。 指定一个安装路径。 指定一个服务器的账户仅服务器端程序。 安装开始。可以点击“Details”按钮查看更多关于安装的详细信息。 OKcwRsync已经安装成功。 cwRsync服务器端需要根据需要修改配置文件。安装过程中会自动创建SvcCWRSYNC用户所属user组。如果定义了上传模块则必须保证cwRsync server有正确的权限可以访问目录。可以通过开始菜单程序快速访问此配置文件。 cwRsync Server会安装为WINDOWS服务启动参数为--config rsyncd.conf --daemon --no-detach。默认自动启动。 三、实验环境 服务端(需要背同步的数据所在的服务器)192.168.1.10 客户端需要将数据同步的服务器192.168.1.20 需要被同步的数据d:/resource 需要同步到d:/back/resource Server: 修改rsyncd.conf 1: uid 0 2: gid 0 3: use chroot false 4: strict modes false 5: hosts allow * 6: log file rsyncd.log 7: 8: # Module definitions 9: # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work 10: # 11: [RESOURCE] 12: path /cygdrive/d/resource 13: read only false 14: transfer logging yes 15: .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, Courier New, courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; 100%; margin: 0em; } .csharpcode .lnum { color: #606060; } 打开命令行窗口然后执行: net start RsyncServer。服务器端准备完成。 Client: 打开命令行窗口然后执行rsync -avz 192.168.1.10::RESOURCE /cygdrive/e/back/resource 注意如果刚刚没有把cwrsync的安装目录添加到windows的path变量中系统是无法执行rsync命令的。添加方法例如我把cwrsync的客户端安装在D:\Program Files\cwRsync则需要把D:\Program Files\cwRsync\bin这个路径添加到windows的系统path变量中。添加之后需要重新打开cmd命令行窗口才可以执行上面的命令。 Bat脚本编写 1: ECHO OFF 2: REM ***************************************************************** 3: REM 4: REM CWRSYNC.CMD - Batch file to start rsync command (s). 5: REM 6: REM By David.Jin 7: REM ***************************************************************** 8: SETLOCAL 9: SET STIME%date:~0,10% %time:~0,8% 10: SET CWRSYNCHOME%PROGRAMFILES%\RSYNC 11: SET CWOLDPATH%PATH% 12: SET PATH%CWRSYNCHOME%\BIN;%PATH% 13: rsync -avz 192.168.1.10::RESOURCE /cygdrive/e/back/resource 14: SET ETIME%date:~0,10% %time:~0,8% 15: ECHO 脚本开始时间: %STIME% 16: ECHO 脚本结束时间%ETIME% 17: PAUSE 将该脚本保存为bat文件使用windows自带计划任务就可以进行定期的服务器间文件同步。 总结此方法对于正常情况下的Windows服务器间文件定期同步是非常有效的解决方案。但是对于大量小文件的同步性能上没有官方介绍那么出色。经常会出现各种main.c错误。从笔者这里也无法得到准确的回答。不过笔者确实多次查阅了rsync mail list可以非常明确的说使用ssh协议进行文件同步程序运行会更加稳定同时性能消耗较大同步效率降低。 遇见问题时祝你好运。 转载于:https://blog.51cto.com/jinpeng/476539