服务器端(需要备份的服务器)
Yum安装
yum -y install rsync
修改配置文件
# vi /etc/rsyncd.conf
uid = 0
gid = 0
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
hosts allow = 192.168.1.60,10.0.100.60
read only = true
transfer logging = no
[coremail]
path = /home/coremail
hosts allow = 192.168.1.60,10.0.100.60
read only = true
transfer logging = no
设置firewall防火墙
$ firewall-cmd --add-port=873/tcp --permanent
$ firewall-cmd --add-port=873/udp --permanent
$ firewall-cmd --reload
指定端口和IP
$ firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.100.60" port protocol="tcp" port="873" accept"
$ firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.100.60" port protocol="udp" port="873" accept"
$ firewall-cmd --reload
启动/开机启动rsync
$ systemctl start rsync
$ systemctl enable rsync
$ systemctl list-unit-files
修改SELinux配置
# 修改SELinux配置,允许rsync传输
setsebool -P rsync_anon_write=1
setsebool -P rsync_client=1
setsebool -P rsync_export_all_ro=1
setsebool -P rsync_full_access=1
客户端(备份服务器)
创建对应目录
mkdir /home/coremail
mkdir /rsync_coremail
mkdir /rsync_coremail/log
touch /rsync_coremail/rsync_coremail.sh
设置脚本文件
vi /rsync_coremail/rsync_coremail.sh
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
d=`date +%Y%m%d_%H_%M_%S`
rsync -avut --delete --log-file=/rsync_coremail/log/${d}.log 118.145.6.100::coremail /home/coremail
设置定时任务
# 编辑crontab配置文件
crontab -e
# 每天晚上10:30
30 22 * * * /rsync_coremail/rsync_coremail.sh > /dev/null 2>&1
重新加载crontab配置文件
crontab reload
查看定时任务是否开启、并设置开机启动
systemctl status crond
systemctl start crond
systemctl enable crond