Linux rsync 同步软件

说明

源服务器 192.168.1.100
目标服务器 192.168.1.101
源服务器的文件拷贝到目标服务器

安装rsync

源服务器和目标服务器都需要安装rsync
yum安装
yum -y install rsync

源码安装
待整理

rsync 配置参数说明

uid = nobody #进行备份的用户 nobody为任何用户
gid = nobody #进行备份的组 nobody为任何组
use chroot = no #不使用chroot
max connections = 10 #最大连接数
strict modes = yes   #是否检查口令文件的权限
pid file=/var/run/rsyncd.pid   #运行进程的ID写到哪里
lock file=/var/run/rsyncd.lock  #指定支持max connections参数的锁文件
log file = /var/log/rsyncd.log #日志文件
[rsyncd_one] # 这里是认证的模块名
path = /root/test #参与同步的目录
ignore errors # 可以忽略一些无关的IO错误
comment= analyse #给模块指定一个描述,该描述连同模块名在客户连接得到模块列表时显示给客户。默认没有描述定义。
read only = false #只读
list = no #不允许列清单
anth users = root #认证的用户名 如果没有这行,则表明是匿名
secrets file = /etc/rsyncd.secrets #密码文件存放地址
hosts allow = *  #允许任何主机连接
hosts deny = 192.168.1.200      #禁止指定的主机连接

目标服务器配置(收文件)

编辑rsync配置文件
vi /etc/rsyncd.conf

vi /etc/rsyncd.conf # 编辑配置文件

uid = root
gid = root
use chroot = no
max connections = 10
strict modes = yes
port = 873
pid file = /var/run/rsyncd.pid
log file = /var/run/rsyncd.log
[rsyncd_one]
path = /root/test
comment = analyse
read only = false
secrets file = /etc/rsyncd.secrets
hosts allow = *

编辑rsyncd密码文件
vi /etc/rsyncd.secrets

# 格式为 "用户名:密码"
root:123456

注意:必须给rsyncd.secrets更改600权限,600的权限很重要,不然会报错。
chmod 600 /etc/rsyncd.secrets

启动rsync (守护进程方式)
/usr/bin/rsync --daemon

如果服务器上装有防火墙,得需要在服务器的iptables中开启873端口
iptables -A INPUT -p tcp --dport 873 -j ACCEP

源服务器配置(推文件)

运行命令
rsync -vzrtopg --progress /root/test2 root@192.168.1.100::rsyncd_one

rsync解释参数
v 表示详细提示
z 表示压缩
u 表示只进行更新 (指定该参数收文件发生改变不会更新)
topg 保持文件原有属性如属主、时间的参数
–progress 指显示
–delete 指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
–contimeout=60 连接超时
–timeout=900 传输超时
root 为用户名
@192.168.1.100为服务器IP
::后面的rsyncd为认证的模块名
/root/test2 为备份到本地的目录

查看同步日志(收文件查看)

tail -f /var/run/rsyncd.log

windows(待整理)

windows 客户端下载

cwRsync – Rsync for Windows | itefix.net

windows 服务端

https://www.backupassist.com/rsync/

安装 cwRsyncServer-v4.1.0.zip 后,发现找不到服务名称:RsyncServer
解决方法:
安装时,右键“以管理员身份运行”即可,即用管理员权限来安装。

rsync inotify (待研究)

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注