记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

Centos/RHEL8通过rsync+inotify-tools实时推送同步文件到windows系统


需要将linux服务器中的目录文件实时同步到windows系统中备份。

一,环境。

数据源主机 IP: 192.168.137.30 Centos8 rsync+inotify-tools

数据备份目的主机 IP: 192.168.137.1 WindowsServer2019   cwrsync4


二,数据源主机Centos8的配置。

1,需要安装rsync,inotify-tools软件。

[root@aaa]#  yum -y install rsync

[root@aaa]#  rpm -ivh https://mirrors.cloud.tencent.com/epel/8/Everything/x86_64/Packages/i/inotify-tools-3.14-19.el8.x86_64.rpm
[root@aaa]#   rpm -ivh https://mirrors.cloud.tencent.com/epel/8/Everything/x86_64/Packages/i/inotify-tools-devel-3.14-19.el8.x86_64.rpm

2, 添加 rsync实时同步的脚本并给脚本执行权限。

[root@aaa]#   touch /usr/local/sbin/rsync-into.sh && chmod u+x /usr/local/sbin/rsync-into.sh

数据源主机的文件目录: /opt/logs/      #目录后面要加/或是在rsync执行命令后加/符号,不加的话,会同步的logs目录过去(也不影响使用).

备份主机的项目名称: test   #可以根据情况修改。

授权的账号:admin

密码文件: /etc/rsync.pwd

脚本内容如下:

#!/bin/sh

srcdir=/opt/logs/

dstdir=test

rsyncuser=admin

rsyncpassdir=/etc/rsync.pwd

dstip="192.168.137.1"

for ip in $dstip; do

    rsync -rp $srcdir rsync://$rsyncuser@$ip:52326/$dstdir --password-file=$rsyncpassdir

done

/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e close_write,modify,delete,create,attrib,move $srcdir | while read file; do

    for ip in $dstip; do

        rsync -rp $srcdir rsync://$rsyncuser@$ip:52326/$dstdir --password-file=$rsyncpassdir

        echo "  ${file} was rsynced" >> /var/log/rsync.log 2>&1

    done

done

3,添加密码文件。

[root@aaa]# echo 123456 > /etc/rsync.pwd #注意数据源主机的密码文件只填写密码就行。
[root@aaa]# chmod 600 /etc/rsync.pwd #权限只能给属主,其它权限无,不然会报错。


三,备份主机windowsserver2019的配置。

1,下载cwrsync软件包。

https://soft.xitongxz.net/202101/CwRsyncServer_V4.1.0_XiTongZhiJia.zip

2,解压后,直接双击,点安装,无需修改。

3,软件安装目录 D:\Program Files (x86)\ICW

4,修改目录下的rsyncd.conf,内容如下:


uid = 0
gid = 0
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
port = 52326

[test]
path = /cygdrive/D/html
read only = false
transfer logging = yes
auth users = admin
secrets file =/cygdrive/D/Program Files (x86)/ICW/rsync.pwd


1,port是cwrsync的程序使用端口,这里使用 52326 。

2,path是test的项目的备份目录地址: D盘的html目录。 #需要提前创建好。

3,secrets file是需要创建的账号密码文件,内容是: admin:123456


四,启动cwrsync服务并测试实时同步情况。

1,启动cwrsync服务,并设置为自动。



2,Centos8主机上面执行脚本。

sh /usr/local/sbin/rsync-into.sh &

3,复制一些文件到/opt/logs目录内容,查看windows主机同步文件情况。

测试同步正常。









转载请标明出处【Centos/RHEL8通过rsync+inotify-tools实时推送同步文件到windows系统】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论