发现一个小工具对数据备份感觉挺不错的,分享一下。
rSync服务器实现不同平台下备份数据同步
一,一台windows做服务器一台windows做客户端,实现windows平台下的数据同步备份
先说一下环境,服务器的ip是192.168.0.11客户端的ip是192.168.0.12
1,在服务器和客户端分别安装rsync软件
安装过程很简单,下一步下一步完成。
安装之后我们看一下安装的结果,
产生的一些文件,其中rsyncd.conf是服务器端的主要配置文件,我们只需要在里面进行设置就可以实现我们想要的效果。我们想要的目的就是,是0.11的D:/web目录里面的文件遵循一定的计划任务(后面我们会说明的)将数据备份到0.12的D:/webtest下,下面看一下我们队rsync.conf的配置(其实大多也是找的资料再根据自己的需要修改的)下面是我在自己的0.11上面的修改
rsync -vzrtopg --progress --delete/cygdrive/h/ftp /cygdrive/z(本机拷贝)
关于上面配置文件中的一些具体的含义我们可以找一些示例看一下,
创建/etc/rsyncd.conf配置文件,内容如下:uid = nobody //指定文件传输过程中的用户身份gid = nobody //指定文件传输过程中的组身份use chroot = no //是否启动目录chroot限制max connections = 5 //指定允许的最大并发客户端连接数port = 873 //指定服务监听的端口,若使用默认的873端口,此行可省略address = 1.2.3.4 //指定服务监听的ip地址,默认为0.0.0.0。使用xinetd方式启动服务时此行被忽略log file = /var/log/rsyncd.log //指定使用独立的日志文件的位置pid file = /var/run/rsyncd.pid //保存pid到指定文件,以便于使用脚本终止进程hosts allow = 1.2.3.123/32 //此行可用于设置允许的客户端范围[www] //设置一个名为www的备份目录区段(模块),名称可自定义path = /var/www/html //指定需要被用于远程备份的目录comment = Whole Web Area //注释信息read only = yes //该目录设置为只读,即至允许客户端下行同步,不允许上传。若需要进行上行还原数据,可以改为no dont compress = *.gz *.tgz *.zip *.z *.bz2*.tbz //对指定格式的文件不再进行压缩
authusers = bakuser1 //指定允许远程同步此目录的用户名。若使用匿名方式,此行和下行可以去掉 secrets file =/etc/rsyncd.users //指定用户名:密码数据库文件位置
我自己的一些修改来备份指定的文件
# Module definitions
# Remember cygwin naming conventions :c:\work becomes /cygwin/c/work
要备份的服务器上的目录文件
[web]
path = /cygdrive/d/web //我备份的是服务器0.11上D盘下的web目录
read only = yes //该目录设置为只读,即至允许客户端下行同步,不允许上传。若需要进行上行还原数据,可以改为no
transfer logging = yes
auth users = administrator
secrets file =/cygdrive/f/administrator.secrets //指定用户名:密码数据库文件位置我指定的是服务器F盘下的administrator.secrets文件,密码是administrator:1234567(如果是服务器要这样的格式,而客户端就直接下1234567就可以了)
ignore errors = yes //可以忽略一些无关的IO错误
密码文件的存放位置
还要添加两个端口和打开两个服务
2,下面是客户端的一些设置,然后测试一下
可以看到已经可以telnet22、873端口了,说明我们的链接没问题
我们来一下数据的备份输入密码的时候是看不到的,可以看到数据已经同步到了客户端的D盘下的webtest下
2,可以在添加一个任务计划,这样就可以在特定的时间不用人工干预而自动备份了,就是将那行命令保存为.bat格式的文件
就可以到一定的时间自己备份了。
二、windows做服务器,linux做客户端
服务器端是不用变的,主要就是客户端改一下
就是命令要注意一些
Windows与linux直间,可以在windows上面映射linux上面的盘符,然后实现本机拷贝,
rsync -vzrtopg --progress --delete /cygdrive/h/ftp /cygdrive/z(本机拷贝)