一、下载安装rsync
1. 检查rsync 是否已经安装
# rpm -qa|grep rsync
若已经安装,则使用rpm -e 命令卸载。
2. 下载RPM包
# wget http://pkgs.repoforge.org/rsync/rsync-3.0.9-2.el6.rfx.x86_64.rpm
(安装wget:yum -y install wget)
3. 安装rsync
# rpm -ivh rsync-3.0.9-2.el6.rfx.x86_64.rpm --force --nodeps
二、配置rsync server
1. 启动rsync
#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
}
随系统启动RSYNC
#chkconfig rsync on
2. 配置/etc/rsyncd.conf
#vi /etc/rsyncd.conf
全局参数
uid = root //运行RSYNC守护进程的用户
gid = root //运行RSYNC守护进程的组
use chroot = no //不使用chroot
max connections = 4 // 最大连接数为4
log file = /var/log/rsyncd.log //指定rsync的日志文件
pid file = /var/log/rsyncd.pid //指定rsync的pid文件
lock file = /var/run/rsyncd.lock //指定锁文件存放位置
#strict modes =yes //是否检查口令文件的权限
#port = 873 //默认端口873
hosts allow = 10.0.13.88 //允许主机
timeout = 10 //超时10s
模块参数
[app] //这里是认证的模块名,在client端需要指定
path = /home/app/ //需要做镜像的目录,不可缺少!
comment = This is a test //这个模块的注释信息
ignore errors //可以忽略一些无关的IO错误
read only = yes // 只读
list = no //不允许列文件
auth users = user_test //认证的用户名,无则表明是匿名,与系统无关
secrets file = /etc/rsyncd.pwd //密码和用户名对比表,密码文件自己生成
3. 配置rsync密码(一行一个用户,用户名:密码)
#vi /etc/rsync.pwd
usr_test:123456
也可用此命令:echo user_test:123456 >> /etc/rsyncd.pwd
权限更改为600
#cd /etc
#chmod 600 rsyncd.pwd
(#chown root.root rsyncd.pwd,可有,设置为root所有)
三、启动rsync server
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf
加入rc.local
在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时把rsync --daemon加载进去。
#vi /etc/rc.local
加入一行/usr/local/rsync –daemon
四、检查rsync
#netstat -a | grep rsync
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
或者#ps -ef | grep rsync
五、配置rsync client
1.设定密码
#vi /etc/rsyncd.pwd
123456
修改权限
#cd /etc
#chmod 600 rsyncd.pwd
(#chown root.root rsyncd.pwd)
2.client连接SERVER
向SERVER端上传文件:将本地的test目录上传至服务器10.0.13.87::app所在目录
/usr/bin/rsync -vzrtopg --progress --password-file=/etc/rsyncd.pwd /test user_test@10.0.13.87::app
从SERVER端取文件:将服务器app目录下的文件备份到本地/home/app下
/usr/bin/rsync -vzrtopg --progress --delete user_test@10.0.13.87::app /home/app --password-file=/etc/rsyncd.pwd
另一种用root用户连接方式:
/usr/bin/rsync -vzrtopg --progress --delete [email protected]:/home/tmp /home/app
输入10.0.13.87密码即可将远端/home/tmp/下文件备份到本地/home/app下
3、自动运行
1)vi /usr/bin/rsyncd.sh //制作脚本文件
chmod +x /usr/bin/rsyncd.sh
把下边的内容复制进去
#!/bin/bash
/usr/bin/rsync -vzrtopg --progress --delete usr_test@10.0.13.87::app /home/app --password-file=/etc/rsyncd.pwd
2) crontab -e
加入*/1 * * * * /usr/bin/rsyncd.sh //每1分运行一次rsyncd.sh脚本文件
/************************/
分 时 日 月 周
* * * * *
/************************/