环境

服务器A:(rsync同步源)IP 192.168.104.94  文件
服务器B:(rsync客户端)IP 192.168.104.96  备份文件

服务器A 192.168.104.94 【下行同步 】

1.安装rsync文件备份工具

yum -y install rsync

2.禁用防火墙

systemctl disable firewalld

3.修改/etc/rsyncd.conf配置文件

vim /etc/rsyncd.conf

uid = nobody
gid = nobody
use chroot = yes  # 禁锢在源目录
address = 192.168.104.94   # 监听地址
port 873   # 监听端口
max connections = 4  # 同步文件的个数
# exclude = lost+found/  # 这个路面下的文件不同步
log file = /var/log/rsyncd.log  # 日志文件位置
pid file = /var/run/rsyncd.pid  # 存放进程ID的文件位置
hosts allow = 192.168.104.0/24  # 允许访问的客户机地址
transfer logging = yes  # 使rsync服务器使用ftp格式的文件来记录下载和上载操作在自己单独的日志中。
timeout = 900  # 超时时间
[ftp]   # 共享模块名称
    path = /root/rsync_test  # 源目录的实际路径
    comment = shunwang   # 名称(随便起)
    read only = no  # 是否为只读 yes只有只读权限 不能修改  no可以修改
    dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2  #同步时不再压缩的文件类型
    auth users = backuper   # 授权账号
    secrets file = /etc/rsyncd_users.db   # 存放账号信息的数据文件

4.为备份账号创建数据文件

vim /etc/rsyncd_users.db
backuper:abc#123  #backuper 备份账号、pwd123是备份账号密码

5.给备份账号目录权限

chmod 600 /etc/rsyncd_users.db

6.备份用户backuper需要对源目录/root/rsync_test有相应的读取权限

chmod 777 /root/rsync_test/
ll /root/rsync_test/

7.启动rsync服务

systemctl restart rsyncd   #启动rsync服务
systemctl enable rsyncd  #设置开机自动启动
netstat -anpt | grep rsync  #查看873端口

8.在目录中检查备份的文件

cd /root/rsync_test/
vim test.txt

hello shunwang

  

 

服务器B 192.168.104.96

1.安装rsync文件备份工具

yum -y install rsync

2.修改/etc/rsyncd.conf配置文件

vim /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = yes
address = 192.168.104.96
port = 873
pid file = /var/run/rsyncd.pid

3.开始同步文件

rsync -avz  backuper@192.168.104.94::ftp /root/rsync_test # a表示归档模式、v表示同步过程中显示详细信息、z表示在传输文件时进行压缩、backuper表示账号、192.168.2.168表示备份的服务器是谁、ftp表示备份源的目录 、/root/rsync_test表示备份到本地root目录下
Password:   # 输入密码 abc#123
rsync -avz  --password-file=/etc/server.pass backuper@192.168.104.94::ftp /root/rsync_test  # 密码写在这个文件中 /etc/server.pass 就不用输入密码了

4.设置定时备份

mkdir /root/rsync_test  # 设置备份的目录
vim /etc/server.pass  # 创建一个密码文件,保存backuper用户的密码
abc#123

chmod 600 /etc/server.pass  # 设置权限

crontab -e
*/1 * * * * /usr/bin/rsync -avz --delete --password-file=/etc/server.pass backuper@192.168.104.94::ftp /root/rsync_test  # 每一分钟同步一次、--delete表示源服务没有的文件,就是说目标服务没有的本服务器例如:创建一个目标服务没有的111.txt文件,到一分钟后就会删除111.txt 备份666.txt文件。

systemctl restart crond  # 启动crond服务
systemctl enable crond # 设置开启自动启动

  

 

 

https://blog.csdn.net/u012865381/article/details/77506397   rsync参数详解