环境:centos 6.6
web服务器:192.168.2.82
内容发布点:192.168.2.39
一、web服务器上安装rsync并配置
1、安装rsync
yum install rsync -y
2、开始配置rsync文件
mkdir /etc/rsyncd(默认没有这个文件,需要手动创建)
touch /etc/rsyncd/rsyncd.conf
ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf
vi /etc/rsyncd.conf
uid = root use chroot = no
pid file = /var/run/rsyncd.pid secrets file = /etc/rsyncd/rsyncd.secrets #This will log every file transferred - up to 85,000+ per user, per sync log format = %t %a %m %f %b # MODULE OPTIONS |
chmod -R 755 /var/run
vi /etc/rsyncd/rsyncd.secrets
sandy:123456 |
为了密码的安全性,我们把权限设为600:
chown root:root /etc/rsyncd/rsyncd.secrets
chmod 600 /etc/rsyncd/rsyncd.secrets
启动rsync服务:
1.以 xinetd 运行 rsync 服务
CentOS 默认以 xinetd 方式运行 rsync 服务。rsync 的 xinetd 配置文件
在 /etc/xinetd.d/rsync。要配置以 xinetd 运行的 rsync 服务需要执行如下的命令:
# chkconfig rsync on # service xinetd restart
管理员可以修改 /etc/xinetd.d/rsync 配置文件以适合您的需要。例如,您可以修改配置行
server_args = --daemon
在后面添加 rsync 的服务选项。
2.独立运行 rsync 服务
最简单的独立运行 rsync 服务的方法是执行如下的命令:
# /usr/bin/rsync --daemon
您可以将上面的命令写入 /etc/rc.local 文件以便在每次启动服务器时运行 rsync 服务。当然,您也可以写一个脚本在开机时自动启动 rysnc 服务。
启动rsync服务:
/etc/init.d/xinetd restart
查看873端口是否起来
netstat -an | grep 873
如果看到873端口已经在侦听了,说明rsync服务已经启动
二、客户端安装rsync,inotify-tools及配置
1、安装rsync及配置
yum install rsync -y
客户端配置rsync,创建密码文件,以后同步加上此文件及不需要填写密码:
touch /etc/rsync_passwd
chmod 600 /etc/rsync_passwd
echo "123456">/etc/rsync_passwd(将服务器用户sandy的账号密码写入密码文件中)
2、安装inotify-tools(由于centos6.6系统中已经内置inotify了,所以无需再安装inotify,查看/proc/sys/fs/目录下是否有inotify文件夹,如果有即已经安装,如果没有则yum安装下)
yum install inotify-tools -y
三、客户端上创建内容发布点文件目录并编写实时同步脚本文件
mkdir /src
vi /crontab/rsync.sh
#!/bin/bash /usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib /src |
四、执行脚本文件并验证
1、后台执行脚本文件
sh +x /crontab/rsync.sh>/crontab/rsync.log &
开机启动:
echo 'sh +x /crontab/rsync.sh>/crontab/rsync.log &'>>/etc/rc.local
2、验证
客户端创建文件:
cd /src
touch test.txt
查看服务器端是否自动有了test.txt文件
cd rsync_test
ls