使用rsync同步镜像服务器数据,安装记录

本试验的测试环境(2台,一个服务端,一个客户端)
rsync服务端的ip:192.168.0.10
rsync客户端的ip:192.168.0.11
目标:把服务端(192.168.0.10)的/home/htdocs/www目录同步至客户端(192.168.1.11)/home/htdocs/www,保持客户端的www目录里面的东西和服务端的www目录完全一致
一、安装,服务端和客户端都装上同一版本的rsync
二、服务端(192.168.0.10)的配置
1、创建rsync的配置文档,rsync安装后,并没有创建rsyncd.conf文档,通常需要自己创建rsyncd.conf文档。rsync服务器的配置文件为/etc/rsyncd.conf,其控制认证、访问、日志记录等等。该文件是由一个或多个模块结构组成。一个模块定义以方括弧中的模块名开始,直到下一个模块定义开始或者文件结束,模块中包含格式为name = value的参数定义。每个模块其实就对应需要备份的一个目录树。

vi /etc/rsyncd.conf
里面填入如下内容:

uid = nobody
gid = nobody
use chroot = yes
max connections = 4
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
hosts allow = 192.168.0.11
hosts deny = 0.0.0.0/32

[www]
path = /home/htdocs/www
read only = no
exclude = data bbs
list = false
auth users = backup
secrets file = /etc/rsyncd.pwd

2、创建密码文件
vi /etc/rsyncd.pwd
backup:123456
chmod 700 /etc/rsyncd.pwd

3、/etc/xinetd.d/rsync
# vi /etc/xinetd.d/rsync
建立一个名为/etc/xinetd.d/rsync文件,输入以下内容:
# default: off
# description: The rsync server is a good addition to an ftp server, as it /
#       allows crc checksumming etc.
service rsync
{
        disable         = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

保存后,就可以运行rsync服务了。输入以下命令:
# /etc/rc.d/init.d/xinetd reload
这样rsync服务就在这台机器上(192.168.0.10)运行起来了,接下来就是如何来使用它了。

三,客户端配置

然后在客户端(192.168.0.11),在/root下建立以下脚本(目录任意):
#!/bin/bash
/usr/bin/rsync -vzrtopg --progress --delete --password-file=/root/rsync.pwd backup@192.168.0.10::www /home/htdocs/www
将这个脚本保存为rsync.sh,并加上可执行属性:
# chmod 755 /root/rsync.sh

创建密码文件,客户端只需要密码,不需要用户名
vi /root/rsync.pwd
123456
chmod 700 /root/rsync.pwd #这里的权限必须和服务器端密码文件权限一致

然后,通过crontab设定,让这个脚本每30分钟运行一次。执行命令:
# crontab -e
输入以下一行:
0,30 * * * * /root/rsync.sh
保存退出,这样服务器B每个小时的0分和30分时都会自动运行一次rsync.sh

 

问题记录

测试环境安装好了,去生产环境部署,遇到几个问题

 

客户端同步报错

 

rsync @ERROR: chroot failed

原因:服务器端备份目录权限问题

解决方法:在服务器端备份目录设置对应权限

 

rsync @ERROR: chdir failed

原因:SELinux;

解决方法:服务器端运行 /usr/sbin/setsebool -P rsync_disable_trans on

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值