1、Rsync规划
Rsync配置前首先规划好,同步的方向性。方向性分为推和拉的方式,规划推、拉是为了可以在防火墙设置端口是谁主动连接。例如:一般为从APP服务器生成的静态页面使用推的方式将文件推送到Apache服务器上。下面就是使用推的方式进行配置。
2、Rsync服务器配置
2.1、Rsync检查
Rsync3.0.0 pre6 安全漏洞,需要使用该版本以上的Rsync。
# [root@localhost ~]rsync --version
rsync version 3.0.9 protocol version 30…….
2.2、Rsync服务器配置文件
rsync的主要有以下三个配置文件rsyncd.conf(主配置文件)、rsyncd.secrets(密码文件)、rsyncd.motd(rysnc服务器信息)
服务器配置文件(/etc/rsyncd/rsyncd.conf),该文件默认不存在,请创建它。
2.3、rsyncd.conf配置
例子:可参见目录:服务器配置/etc/rsyncd/server/rsyncd.conf
rsyncd.conf的参数写在上边就是全局参数和写在模块里的就是模块参数
#vi /etc/rsyncd/server/rsyncd.conf
全局参数
uid = root //运行RSYNC守护进程的用户
gid = root //运行RSYNC守护进程的组
use chroot = yes//使用chroot
max connections = 4 // 最大连接数为4
strict modes =yes //是否检查口令文件的权限
port = 873 //默认端口873
模块参数
[backup] //这里是认证的模块名,在client端需要指定
path = /home/backup/ //需要做镜像的目录,不可缺少!
comment = This is a test //这个模块的注释信息
ignore errors //可以忽略一些无关的IO错误
read only = yes // 只读
list = no //不允许列文件
auth users = hening //认证的用户名,如果没有这行则表明是匿名,此用户与系统无关
secrets file = /etc/rsync.pas //密码和用户名对比表,密码文件自己生成
hosts allow = 192.168.1.1,10.10.10.10 //允许主机
hosts deny = 0.0.0.0/0 //禁止主机
#transfer logging = yes
2.4、rsyncd.secrets配置
例子:可参见目录:服务器配置/etc/rsyncd/server/rsyncd.secrets
配置rsync密码(在上边的配置文件中已经写好路径) rsync.pas(名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)
账号:密码
rsync:password
需要将rsyncd.secrets更改权限。将rsyncd.secrets这个密码文件的文件属性设为root拥有, 且权限要设为600, 否则无法备份成功!
执行命令:chmod 600 /etc/rsyncd/server/rsyncd.secrets
3、Rsync客户端
3.1、客户端配置介绍
客户端只需要配置一个密码文件。配置rsync密码(在上边的配置文件中已经写好路径) /etc/rsyncd/client/rsyncd_190.(格式密码)
password
修改权限密码文件权限为指定用户,并且文件权限为600
#cd /etc
#chownroot.rootrsync.pas
#chmod 600 rsync.pas
client连接SERVER命令,从SERVER端取文件
/usr/bin/rsync -vzrtopg --progress [email protected]::backup /home/backup --password-file=/etc/rsync.pas
向SERVER端上传文件
/usr/bin/rsync -vzrtopg --progress--password-file=/root/rsync.pas /home/backup [email protected]::backup
这个命令将把本地机器/home/backup目录下的所有文件(含子目录)全部备份到RSYNC SERVER(172.20.0.6)的backup模块的设定的备份目录下。
请注意如果路径结束后面带有"/",表示备份该目录下的东东,但不会创建该目录,如不带"/"则创建该目录。
3.2、客户端自动运行(详情请参考:http://blog.csdn.net/zhangkezhi_471885889/article/details/15341337)
1)vi/usr/local/rsync/time.sh //制作脚本文件
把下边的内容复制进去
#!/bin/bash
/usr/bin/rsync -vzrtopg --progress [email protected]::backup /home/backup --password-file=/etc/rsync.pas
2) crontab -e
加入./5 * * * * /usr/local/rsync/time.sh //每5分运行一次time.sh脚本文件
4、服务器配置步骤样例
Web服务器配置Rsync服务
1.根据要求配置好rsyncd.conf及rsyncd.secrets文件。
2.上传rsyncd.conf及rsyncd.secrets文件到配置目录中,例如/etc/rsyncd/server/
3.更改rsyncd.secrets文件权限,执行:
chmod 600 /etc/rsyncd/server/rsyncd.secrets
4.启动Rsync服务器端服务,执行:
rsync --daemon --config=/etc/rsyncd/server/rsyncd.conf
5.检查rsync是否在执行。
ps -ef | greprsync
6.检查端口873是否监听
netstat -a | greprsync
7.检查端口873是否能够接收服务,登录到另外一个服务器或者机器执行
telnet 192.168.1.190 873
客户端配置步骤
1.根据要求配置好rsync_190.sh及rsyncd_190.secrets文件。
2.上传rsync_190.sh及rsyncd_190.secrets文件到配置目录中,例如/etc/rsyncd/client/
3.更改rsyncd_190.secrets文件权限,执行:
chmod 600 /etc/rsyncd/client/rsyncd_190.secrets
4.运行rsync_190.sh测试是否能够正常传送文件。
5.配置自动运行脚本(执行crontab -e命令,编辑加入:
*/5 * * * * /etc/rsyncd/client/rsync_190.sh表示5分钟同步一次,查看自动运行日志命令 tail -f /var/log/cron)