Centos7 rsync同步备份文件
阅读原文时间:2023年07月09日阅读:1

一、rsync主服务端

1,安装rsync

查看是否安装rsync
[root@localhost /]# rpm -qa | grep rsync
在线安装rsync
[root@localhost /]# yum -y install rsync
配置开机自启动
[root@localhost /]# systemctl enable rsyncd.service

2,配置rsync

安装成功后,修改配置文件:/etc/rsync.conf

[root@localhost /]# vi /etc/rsyncd.conf
#Rsync server
uid = root #该选项指定当该模块传输文件时守护进程应该具有的uid
git = root #该选项指定当该模块传输文件时守护进程应该具有的gid
#安全相关
user chroot = no
#并发连接数
max connections = 2000
#超时时间(秒)
timeout = 600
#指定rsync的pid目录
pid file = /var/run/rsync.pid
#指定rsync的锁文件【重要】
lock file = /var/run/rsync.lock
#指定rsync的日志目录
log file = /var/log/rsync.log
#指定不进行压缩处理再传输的文件
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
#指定rsyncd在判断是否运行传输时的删除操作时忽略server上的IO错误
ignore errors
read only = no #yes为只允许下载,no为可以下载和上传文件到服务器
list = false
host allow = 10.0.0.0/24 #指定哪些IP的客户允许连接该模块
hosts deny = 0.0.0.0/32 #指定不允许连接rsync服务器的机器
auth users = test #该选项指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块
secrets file = /etc/rsyncd.password #该选项指定一个包含定义用户名:密码对的文件。只有在" auth users" 被定义时,该文件才有作用
#############################################
[FTP]
comment = FTP #给模块指定一个描述
path = /var/ftp/vsftp #指定该模块的供备份的目录树路径
#############################################

3,创建密码文件,并修改权限

[root@localhost /]# echo "test:test.com" > /etc/rsyncd.password
[root@localhost /]#chmod 600 /etc/rsyncd.password

4,开放防火墙端口(rsync使用873端口)

[root@localhost /]# firewall-cmd --zone=public --add-port=873/tcp --permanent
[root@localhost /]# firewall-cmd --reload

5,配置完成后重启rsync服务

[root@localhost /]# systemctl restart rsyncd.service

二、备份服务器端

1,创建密码文件

#这里只需要服务器rsyncd.password中的密码
[root@localhost /]# echo "test.com" > /etc/rsyncd.password
[root@localhost /]#chmod 600 /etc/rsyncd.password

2,重启服务

[root@localhost /]# systemctl restart rsyncd.service

3,编写定时任务

[root@dropbox-bak01 /]# crontab -e
00 00 * * * rsync -av --password-file=/etc/rsyncd.password --delete-after test://10.0.0.62/var/ftp/vsftp /DATA/ #每天晚上12点进行同步