启动配置 rsync默认端口是---873
(注意:防火墙中要放开873端口)
(注意:selinux必须关掉)
选择rsync服务器启动方式
rsync服务器负载比较高,则使用独立启动模式
rsync服务器负责较低,使用xinetd运行方式(centos6下使用,centos7不需要)
CentOS6 默认以xinetd模式运行rsync
配置rsync以xinetd模式运行,执行如下命令
chkconfig rsync on
service xinetd restart
如果使用独立运行模式,则执行如下命令
/usr/bin/rsync --daemon
#编辑 /etc/rc.local文件 加入 /usr/bin/rsync --daemon 保证每次开机启动都会自动启动rsync服务
centos7直接用systemctl start rsyncd 启动
加入开机启动 systemctl enable rsyncd
-----------------------------------------------------------
具体步骤(xinetd运行方式):
一、服务器配置
1.安装rsync
yum install rsync xinetd(centos7不需要安装xinetd)
2、修改配置(centos7不需要):
# vi /etc/xinetd.d/rsync
把原来的disable ,YES改成NO
service rsync
{
disable = NO
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
3、配置/etc/rsyncd.conf(需要手动生成)
# vi /etc/rsyncd.conf
说明:
log file = /usr/local/rsync/var/rsyncd.log //日志文件
pid file = /usr/local/rsync/var/rsyncd.pid //pid文件路径
lock file = /usr/local/rsync/var/rsyncd.lock //指定lock文件
secrets file = /usr/local/rsync/etc/rsyncd.pas //指定授权用户密码对文件
motd file = /usr/local/rsync/etc/rsyncd.motd //指定欢迎消息文件
port = 873 //默认端口
read only = no //是否只读(若从客户端同步到服务器必须设置为NO)
hosts allow = 192.168.0.0/16,192.168.10.0/24 //允许的IP段
list = yes //是否允许列表
uid = nobody //rsync以什么用户身份启动
gid = nobody //rsync以什么用户组身份启动
use chroot = no //
max connections = 4 //最大连接数
[bak] //模块,可以设置多个模块,备份多个目录
path = /bak //模块目录
comment = www bak //描述信息,可以任意填写
auth users = bak //认证的用户,该用户不要求是系统用户
-----------以下为rsyncd.conf配置文件内容,rsync配置直接拷贝-------
log file = /var/rsyncd.log
pid file = /var/rsyncd.pid
lock file = /var/rsyncd.lock
secrets file = /etc/rsyncd.pas
motd file = /etc/rsyncd.motd
port = 873
read only = no
hosts allow = 192.168.0.0/16,192.168.10.0/24
list = yes
uid = root
gid = root
use chroot = no
max connections = 30
[bak1]
path = /home/bak1
comment = www bak
auth users = rsync
[bak2]
path = /home/bak2
comment = www bak
auth users = rsync
-----------------------------------------------------------
3.修改密码配置
# vi /etc/rsyncd.pas
输入(用户密码对文件,用“:”隔开):
rsync:abc123
4.修改权限
# chmod 600 /etc/rsyncd.pas //权限必须为600,否则会出错
5.配置欢迎消息
# vi /etc/rsyncd.motd
输入
welcome to rsync
6.启动rsync服务端
#service xinetd start
7.开机启动 chkconfig xinetd on
chkconfig rsync on
-----------------------------------------------------------
二、客户端配置
1.先安装yum install rsync
2、设定密码
# vi /etc/rsync.pas
abc123
3.修改权限
# cd /etc
# chown root.root rsync.pas
# chmod 600 rsync.pas
4、client连接SERVER
从SERVER端取文件
# rsync -avz --progress --delete rsync@192.168.10.133::bak /home/testSync/ --password-file=/etc/rsync.pas
向SERVER端上传文件
# rsync -avz --progress --delete --password-file=/etc/rsync.pas /home/testSync/ rsync@192.168.10.133::bak
-----------------------------------------------------------
三、在客户端安装inotify-tools
1.yum -y install automake libtool #安装编译安装软件所需工具
wget http://downloads.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz --no-check-certificate
#下载inotify-tool软件包,no前面为双横杠
tar -czvf inotify-tools-3.13.tar.gz
cd inotify-tools-3.13
./configure --prefix=/usr/local/inotify
make && make install
2.建立同步脚本
vi /home/notify_rsync.sh
#!/bin/bash
SRC=/home/backup #设置修改数据的目录
DEST=db_backup #server的模块名
Client=10.0.0.114 #server的ip
User=rsync #虚拟用户名
Passfile=/etc/rsync.pas #密码文件
#wait for change
/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib $SRC | while read file
do
#同步数据到server,然后把输出结果记录在sync_web1中
rsync -avz --delete --progress --password-file=$Passfile $SRC ${User}@$Client::$DEST >> /var/log/sync_web1 2>&1
done
exit 0
3.写入开机启动
echo -ne 'sh /home/notify_rsync.sh&'>>/etc/rc.local