环境
服务器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参数详解