跳至主要内容

利用Rsync对windows文件进行备份

目前的生产环境使用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组件,传输速度可以跑满网络带宽上限。

评论

此博客中的热门博文

PVE安装Windows 11虚拟机 step by step

Win 11已经发布有两周多了,因为引进了tpm机制,只支持较新的设备安装,对于虚拟机的支持不高。 目前各个虚拟化平台针对win 11已经有对应的方案,今天来介绍一下PVE 7.0安装win 11虚拟机。 提前下载win11和virtio win 11的镜像。 win 11镜像下载这里就不说了,很多途径。 virtio的镜像在这里下载https://github.com/virtio-win/virtio-win-pkg-scripts,下载最新的virtio win iso。 新建和配置虚拟机 点击新建虚拟机 给虚拟机起名,然后下一步。 选择加载win 11镜像文件,系统类型选择windows。 系统配置这里: bios选择OVMF(UEFI);机器选择q35;勾选TPM,并选择TPM版本为v2.0;然后存储的位置选择同一个存储。 硬盘设备选择VirtIO,磁盘大小选择64G,32G其实也可以,但是微软要求最低64G。 设置CPU和内存,微软要求最低2核8G,这里我们给4核8G,因为是单节点,所以CPU类型勾选host。 配置网卡信息后继续。 这里不要勾选自动创建后启动,确认配置信息后点击完成。 到新建的虚拟机这里,新建光驱。 选择下载的驱动镜像,点击创建。 完成后点击启动。 启动后进入windows安装界面,这里照一般操作进行。 到安装类型这里选择 自定义安装。 到选择安装位置这里会无法显示硬盘信息,因为缺少驱动,点击加载驱动程序。 然后点击浏览。 选择驱动镜像下的amd64下的w10文件夹,点击确定。 加载驱动后磁盘控制器能够显示,点击下一页。 选中显示的磁盘后点击下一步进行安装。 文件复制完后会重启几次。 安装完成后会启动第一次配置界面。 输入账户信息后进行系统配置。 配置完成后进入桌面。 在设备管理器中有一些设备未能正确识别。 进入驱动镜像,运行virtio-win-ge-x64安装文件安装驱动。 安装完成后,所有设备都能正确识别。 至此win11虚拟机安装完成。

搭建cups服务,并提供云打印服务。

Google的云打印服务已经在2020年底结束,所以不得不寻找新的解决方案。 之前家里使用一台windows虚拟机内置的打印服务,使用windows单单作为一台打印服务器实在是太过浪费。 因为家里有ubuntu的虚拟机跑plex服务,计划在ubuntu上运行打印服务。 linux上最为成熟的打印服务就是cups了,然后在软路由上搭建open vpn,即可实现任何地方打印文档。 一.cups服务安装。     首先安装cups服务     sudo apt install cups     修改配置文件     sudo  cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak     sudo nano  /etc/cups/cupsd.conf     新增监听地址     Listen 192.168.1.x:631      BrowseAllow all      BrowseAddress All      <Location />            Order allow,deny            Allow all      </Location>      <Location /admin>          Order allow,deny          Allow all     </Location>      <Location /admin/conf>     ...

安装部署JumpServer

 最近遭遇一起云主机因安全防护措施不到位被安装挖矿程序的情况。 为提高云主机的安全性和考虑搭建一台跳板机来访问云主机以提高安全性。 目前主流且还在维护的JumpServer是比较好的解决方案,搭建一台JumpServer做测试。 这里使用ubuntu 20.04 lts作为OS。 安装操作系统后先修改软件仓库为国内163源。 sudo cp /etc/apt/sources.list    /etc/apt/sources.list.bak sudo nano /etc/apt/sources.list 注释掉原来的内容 添加网易源 #网易源 deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse 执行更新 sudo apt-g...