inotify+rsync将服务器CentOS文件定时增量备份到Windows

背景

公司现在有一个需求,需要将服务器CentOS的文件定时增量到Windows服务器,Windows服务器连接了存储服务器磁盘阵列,空间比较大。基于这样的需求,我们采用inotify+rsync增量备份的解决方案。

服务器配置

IP地址 系统
192.168.1.100 CentOS7.x
192.168.1.101 Windows Server 2012 r2

Windows

1. 安装cwRsyncServer

  • 双击安装
  • 设置服务名和密码
注意:这里的服务器名和密码用于后面配置项目中,默认用户名:SvcCWRSYNC,密码设置为admin123

  • 配置文件

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
uid = 0 # 需要配置此项,不然连接报错
gid = 0 # 需要配置此项,不然连接报错

# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
#[test]
#path = /cygdrive/c/work
#read only = false
#transfer logging = yes

[rsyncdata]
path = /cygdrive/e/cdbid-pro1.0-backup/57
read only = false # 只读属性为false
list = no
hosts allow = *
auth users = SvcCWRSYNC # 对应配置用户名
secrets file = /cygdrive/e/cdbid-pro1.0-backup/rsync.passwd
  • 新建rsync.passwd文件,填写如下
SvcCWRSYNC:admin123
  • 添加目录cdbid-pro1.0-backup目录访问权限,如果没有SvcCWRSYNC用户,点击高级添加

  • 启动服务

Linux

1. 安装rsync

yum install rsync -y

2. 新建/etc/rsync.passwd,内容如下,注意客户端rsync只需要密码

admin123

3. 更改权限

chmod 600 /etc/rsync.passwd

4. 安装inotify

inotify-tools工具监测文件增加、删除和修改,同时同步到备份服务器windows
yum install inotify-tools -y

5. 启动脚本inotify_start.sh

#!/bin/bash
host=192.168.1.101
src=/home
des=rsyncdata
user=SvcCWRSYNC
inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src | while read files
do
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/rsync.passwd $src $user@$host::$des
echo "${files} was rsynced" >>/tmp/rsync.log 2>&1
done

6. 测试

# 测试命令
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/rsync.passwd /root/test SvcCWRSYNC@192.168.1.101::rsyncdata

7. 后台运行启动脚本

inotify_start.sh &

转载请注明:溜爸 » inotify+rsync将服务器CentOS文件定时增量备份到Windows

专注于web前端,spring boot,微服务架构。坚持原创技术分享,为开源贡献力量。

149 声望
8 粉丝
0 条评论
推荐阅读
跨平台Android和IOS百度语音在线识别原生插件
一、插件推荐跨平台Office文档、图片在线预览,视频播放原生插件Android和IOS图片在线预览,视频播放原生插件跨平台Android和IOS百度OCR文字识别、证卡识别、票据识别原生插件二、准备工作1. Android、IOS端证书...

silianpan阅读 698

封面图
centos7安装mongodb
准备工作:1、在root目录下创建文件夹software {代码...} 2、进入software文件 {代码...} 以下是mongodb的具体安装步骤和文件配置1. 下载mongodb3.6.3版本 {代码...} 2. 解压文件 {代码...} 3. 把解压后文件移动...

sourcenode阅读 2.2k

配置VMware中联网的两种方式:Net模式&桥接模式
实践环境:VMware12Pro、CentOS7Net模式和桥接模式联网的区别:桥接模式:选择桥接模式的话虚拟机和宿主机在网络上就是平级的关系,相当于连接在同一交换机上。NAT模式:NAT模式就是虚拟机要联网得先通过宿主机才...

GoodLifeBro阅读 1.2k

CentOS安装Redis
如果要安装最新的redis,需要安装Remi的软件源,官网地址:[链接]yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm然后可以使用下面的命令安装最新版本的redis:yum --enablerepo=re...

YYGP阅读 1k

yum安装MySQL
yum仓库 {代码...} 或者 {代码...} yum安装MySQL {代码...} 安装过程可能报错,附上解决方案:错误1 {代码...} 需执行yum module disable mysql然后重新install错误2 {代码...} 原因: MySQL GPG 密钥已过期导致...

YYGP阅读 935

CentOS离线安装rpm包
CentOS离线安装rpm包rpm离线包的下载先找一台有网络的CentOS机器利用CentOS系统yum下载好rpm包1、yum搜索要下的软件包,比如:jdk, mosquitto {代码...} 2、利用 yum 下载所需 rpm 包,将包下载到指定目录,比如:/ho...

阿亮说技术阅读 919

2022年度盘点|聚焦运维服务,云智慧的高光时刻
回首2022,从IE 浏览器退役到AIGC 火遍全球,每一次科技的兴衰演进都打破着技术的新边界。与此同时,随着各行业数据规模爆发式地增长,云智慧作为国内全栈智能运维解决方案服务商,企业数字化地加速转型也为其带...

云智慧技术社区阅读 732

封面图

专注于web前端,spring boot,微服务架构。坚持原创技术分享,为开源贡献力量。

149 声望
8 粉丝
宣传栏