rsync从windows到linux的同步备份

名称
角色
IP地址
Windows server 2003
服务器
Eth0:192.168.1.1
RHEL5.5
客户端
Eth0:192.168.1.2
 
一、cwRsyncServer服务端配置
下载服务端cwRsyncServer
解压cwRsyncServer_4.0.3_Installer.zip,双击cwRsyncServer_4.0.3_Installer.exe
 
我的电脑—右键管理---服务和应用—服务
找到RsyncSever,双击—启动
 
提供桌面交互
 

打开E盘,创建要备份的文件夹,此处取名为benet(此处是文件夹,不是文件)
右键单击benet文件夹,选择属性,切换到安全选项,点添加
输入:SvcCWRSYNC
 

打开C:Program FilesICW目录
用记事本打开rsyncd.conf,修改添加以下内容(修改之前先备份,以防出错重改)
 

编辑rsyncd.conf文件
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
 
# Module definitions
# Remember cygwin naming conventions : c:work becomes /cygwin/c/work
#
 
[benet] #备份模版
path = /cygdrive/e/benet
read only = true #客户端只读
hosts allow = 192.168.1.2 #允许连接IP,多个IP中间用英文状态下逗号隔,不限制IP填写 *即可
auth users = benet #允许连接的用户名
secrets file = etc/rsyncd.secrets #存放用户名密码的认证文件路径
 

在C:Program FilesICW目录下面新建/etc/rsyncd.secrets文件
用记事本打开,输入用户名和密码
benet:123
 

二、Rsync客户端配置
1、查看selinux机制,关闭selinux
[root@localhost ~]# getenforce
Disabled
2、开启防护墙tcp 873端口,以便日后改为服务器使用
[root@localhost ~]# vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A INPUT -m state –state NEW -m tcp -p tcp –dport 873 -j ACCEPT
 
3、安装Rsync客户端软件
[root@localhost ~]# yum install rsync xinetd
[root@localhost ~]# vi /etc/xinetd.d/rsync #编辑配置文件,设置开机启动rsync ,Centos上的rsync使用xinetd启用的
将disable=yes,改为no
service rsync
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure += USERID
}
/etc/init.d/xinetd start #启动
 
4、测试
远程一下测试一下是否可以正常通信,安装telnet
[root@localhost ~]# telnet 192.168.1.1 873 #成功
Trying 192.168.1.1...
Connected to 192.168.1.1 (192.168.1.1).
Escape character is '^]'.
@RSYNCD: 30.0
 
同步数据
为了输入时不手动输入密码,我们在客户端也创建一个和服务端一样的密码文件(此文件路径和密码要与服务器端的一样,客户端不用写名字)
[root@localhost ~]# echo “123”> /etc/rsyncd.secrets #文件名可以不一样,但要在/etc下
[root@localhost ~]# cat /etc/rsyncd.secrets
123
[root@localhost ~]# chmod 600 /etc/rsyncd.secrets
 
在客户端同步数据
注意:此处的密码为cwRsyncServer服务端C:Program FilesICWetc syncd.secrets文件配置的密码
[root@localhost ~]# rsync -avz --password-file=/etc/rsyncd.secrets benet@192.168.1.1::benet /opt/
receiving file list ... done
./
11.txt
 
sent 91 bytes received 192 bytes 51.45 bytes/sec
total size is 52 speedup is 0.18
 
5.实现自动同步数据,手动编写一个小脚本。冒号后面的为在服务器端定义的模版
[root@localhost ~]# vim rsync.sh
#!/bin/bash
/usr/bin/rsync -avz --password-file=/etc/rsyncd.secrets benet@192.168.1.1::benet /opt
加入自动化备份
[root@localhost ~]# chmod +x /root/rsync.sh
[root@localhost ~]# crontab -e
*       *       *       *       *       /root/rsync.sh
原文地址:https://www.cnblogs.com/fjping0606/p/4428544.html