测试环境
CentOS 7 Rsync服务端:192.168.25.21
CentOS 7 Rsync客户端:192.168.24.89
一、服务端安装配置
1、Rsync服务端和客户端都需要安装rsync
yum -y install rsync
2、服务端配置文件
编辑配置文件 vim /etc/rsyncd.conf
内容如下:
motd file = /etc/rsyncd.motd
transfer logging = yes
fake super = yes
log file = /var/log/rsyncd.log
port = 873
address = 192.168.25.21
uid = rsync
gid = rsync
use chroot = no
read only = no
max connections = 10
[rsync_dir]
comment = rsync info
path = /opt/data_bak
ignore errors
auth users = rsync
secrets file = /etc/rsyncd.secrets
hosts allow = 192.168.0.0/255.255.0.0
hosts deny = *
list = false
*****以下不用粘贴*****
#192.168.25.21 绑定IP
# /opt/data_bak 服务端接收目录
#[rsync_dir] 括号内的名称,客户端推送时要使用
3、创建用户及接收目录
useradd rsync -s /sbin/nologin -M
mkdir /opt/data_bak
chown rsync.rsync /opt/data_bak -R

4、创建提示信息文件
echo "hahaha"> /etc/rsyncd.motd
5、创建用户密码文件
echo "rsync:Snail" > /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
#必须为600权限,密码在客户端同步时要使用
6、启动服务
systemctl restart rsyncd 或 rsync --daemon
systemctl enable rsyncd #服务端自启用下面脚本
或将启动写入 rc.local
echo "/usr/bin/rsync --daemon" >> /etc/rc.local
chmod +x /etc/rc.d/rc.local

二、客户端安装配置
1、安装软件
yum -y install rsync
mkdir /tmp/testdir && cd /tmp/testdir
2、创建测试文件
echo 1 >1.txt
echo 2>2.txt echo 3 >3.txt

3、创建密码文件
echo "Snail">/etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
4、启动服务
systemctl restart rsyncd
systemctl enable rsyncd
netstat -lnp|grep 873

5、文件推送测试
rsync -av /tmp/testdir/ rsync@192.168.25.21 ::rsync_dir --password-file=/etc/rsyncd.secrets
# rsync_dir 为服务端文件中的目录别称,非直接的目录


6、定时自动推送
vim /opt/db_backup
#!/bin/bash
dbhost=`hostname`
BACKUP_DIR=/tmp/testdir
DB_FILE_ZIP=${BACKUP_DIR}/*.txt
rsync -av ${DB_FILE_ZIP} rsync@192.168.25.21::rsync_dir/$dbhost/ --password-file=/etc/rsyncd.secrets

