目前的生产环境使用BE来备份公司的服务器,包括AD、exchange以及文件服务器等。
因为Windows的安全性和稳定性不佳,提高整个备份系统的安全等级,将备份的数据进行二次备份到linux系统下。
经过一翻research,linxu环境下最为常见的备份工具是Rsync,有非常强大的功能和极佳的性能。 用于存放数据的环境是linux,为了方便归档备份文件,windows需要安装Rsync服务,使得linux可以访问获取备份数据。
Rsync的windows版目前能找到两种免费软件,分别是cwRsync和DeltaCopy。这两款软件都是使用Rsync的daemon方式运行。
这里需要说明,rsync有两种运行方式,一种是remote shell模式,支持加密传输。一种是daemon方式,直接tcp传输,不支持加密,但速度更快。
因为处于公司内网网络,不需要考虑网络传输安全性,而且备份的数据量很大,为了提高效率,采取daemon方式运行。
这两款软件经过实测,都可以实现rsyncd服务,但是已经没有人维护的缘故,速度都非常的慢。 经过实测,在4Gbps的网络环境下,传输速度只有20到30MB/s。而在同样的情况下,使用ftp协议传输,速度可以到100MB/s+。
因为ftp传输速度很快的原因,想尝试采用ftp的方式来备份。Rsync只有通过remote shell和rsync daemon的方式进行传输,无法通过ftp传输文件。 google搜了一下,可以利用mirror命令将ftp路径映射到本地,然后通过rsync进行备份。
就在这个时候,偶然发现了cygwin里包含rsync组件,而且cygwin目前还有在更新,最近一次更新在今年4月份。 二话不说,下载和准备cygwin环境。
访问cygwin网站下载最新版Cygwin,然后安装。
在安装时需要勾选rsync和cygrunsrv这两个组件。其他组件可以根据个人需求进行勾选,比如你不喜欢用vi编辑器可以选择安装nano。
接下来新建一个用户以运行rsync服务,并在本地安全策略组里对账户进行如下限制:
1.禁止该账户本地登录。
2.禁止该账户从网络访问。
3.禁止该账户远程登录。
4.允许该账户作为服务登录。
在资源管理器里设置需要备份的目录,确保该账户对备份目录有完整的访问权限。
创建/etc/rsyncd.conf配置文件
以下是范例
# 全局设定
port = 873
use chroot = false
log file = /var/log/rsyncd.log #服务日志
secrets file = /etc/rsyncd.secrets #密码文件
strict modes = false
auth users = user #设置一个用户名
hosts allow = 192.168.0.1/16 #设定那些ip的机器可以访问
#以下是需要备份的目录
[Folder01] #用于远程识别备份的目录名
#目录的路径
path = /cygdrive/c/Rsync1 #里是c:\Rsync1\的表达方式
read only = false
[Folder02] #用于远程识别备份的目录名
#目录的路径
path = /cygdrive/c/Rsync2
read only = false
创建/etc/rsyncd.secrets文件
格式为:
username:passwd
以管理员身份运行在cmd里运行如下命令将rsync注册为服务:
C:\cygwin64\bin\cygrunsrv.exe -I "rsync" -p /cygdrive/c/cygwin64/bin/rsync.exe -a "--config=/cygdrive/c/cygwin64/etc/rsyncd.conf --daemon --no-detach" -f "Rsync daemon service"
注意:如果你的安装路径不同,请修改路径为你的安装路径。
进入服务管理,将rsync服务以之前新建的账户运行,并将服务设置为自动运行。
在防火墙里开启tcp873端口。
至此rsync在win上的服务已经可以正常运行。
经过测试,透过cygwin内的rsync组件,传输速度可以跑满网络带宽上限。
因为Windows的安全性和稳定性不佳,提高整个备份系统的安全等级,将备份的数据进行二次备份到linux系统下。
经过一翻research,linxu环境下最为常见的备份工具是Rsync,有非常强大的功能和极佳的性能。 用于存放数据的环境是linux,为了方便归档备份文件,windows需要安装Rsync服务,使得linux可以访问获取备份数据。
Rsync的windows版目前能找到两种免费软件,分别是cwRsync和DeltaCopy。这两款软件都是使用Rsync的daemon方式运行。
这里需要说明,rsync有两种运行方式,一种是remote shell模式,支持加密传输。一种是daemon方式,直接tcp传输,不支持加密,但速度更快。
因为处于公司内网网络,不需要考虑网络传输安全性,而且备份的数据量很大,为了提高效率,采取daemon方式运行。
这两款软件经过实测,都可以实现rsyncd服务,但是已经没有人维护的缘故,速度都非常的慢。 经过实测,在4Gbps的网络环境下,传输速度只有20到30MB/s。而在同样的情况下,使用ftp协议传输,速度可以到100MB/s+。
因为ftp传输速度很快的原因,想尝试采用ftp的方式来备份。Rsync只有通过remote shell和rsync daemon的方式进行传输,无法通过ftp传输文件。 google搜了一下,可以利用mirror命令将ftp路径映射到本地,然后通过rsync进行备份。
就在这个时候,偶然发现了cygwin里包含rsync组件,而且cygwin目前还有在更新,最近一次更新在今年4月份。 二话不说,下载和准备cygwin环境。
访问cygwin网站下载最新版Cygwin,然后安装。
在安装时需要勾选rsync和cygrunsrv这两个组件。其他组件可以根据个人需求进行勾选,比如你不喜欢用vi编辑器可以选择安装nano。
接下来新建一个用户以运行rsync服务,并在本地安全策略组里对账户进行如下限制:
1.禁止该账户本地登录。
2.禁止该账户从网络访问。
3.禁止该账户远程登录。
4.允许该账户作为服务登录。
在资源管理器里设置需要备份的目录,确保该账户对备份目录有完整的访问权限。
创建/etc/rsyncd.conf配置文件
以下是范例
# 全局设定
port = 873
use chroot = false
log file = /var/log/rsyncd.log #服务日志
secrets file = /etc/rsyncd.secrets #密码文件
strict modes = false
auth users = user #设置一个用户名
hosts allow = 192.168.0.1/16 #设定那些ip的机器可以访问
#以下是需要备份的目录
[Folder01] #用于远程识别备份的目录名
#目录的路径
path = /cygdrive/c/Rsync1 #里是c:\Rsync1\的表达方式
read only = false
[Folder02] #用于远程识别备份的目录名
#目录的路径
path = /cygdrive/c/Rsync2
read only = false
创建/etc/rsyncd.secrets文件
格式为:
username:passwd
以管理员身份运行在cmd里运行如下命令将rsync注册为服务:
C:\cygwin64\bin\cygrunsrv.exe -I "rsync" -p /cygdrive/c/cygwin64/bin/rsync.exe -a "--config=/cygdrive/c/cygwin64/etc/rsyncd.conf --daemon --no-detach" -f "Rsync daemon service"
注意:如果你的安装路径不同,请修改路径为你的安装路径。
进入服务管理,将rsync服务以之前新建的账户运行,并将服务设置为自动运行。
在防火墙里开启tcp873端口。
至此rsync在win上的服务已经可以正常运行。
经过测试,透过cygwin内的rsync组件,传输速度可以跑满网络带宽上限。
评论
发表评论