linux rsync 数据增量备份安装配置

ixibei 发表于 分类:Linux / Centos 阅读(2528) 评论(0)

简介:

公司有一台服务器上有四个站,资源严重不足,直到今天硬盘开始满了,于是需要迁移一个网站到另外一台服务器上,而linux rsync 是不二的选择,本例在本机上的两台虚拟机上成功实现此功能。1. 两台服务器    1.1 c…

公司有一台服务器上有四个站,资源严重不足,直到今天硬盘开始满了,于是需要迁移一个网站到另外一台服务器上,而linux rsync 是不二的选择,本例在本机上的两台虚拟机上成功实现此功能。


1. 两台服务器

    1.1 centos6.5 192.168.16.218 要备份的资源服务器

    1.2 centos6.5 192.168.16.45 备份服务器

    

2. 在192.68.16.218这台服务器上安装rsync服务

    2.1 yum -y install rsync ( 也可以编译安装,版本地址列表 http://rsync.samba.org/ftp/rsync/src/  )

    2.2 修改rsync配置文件

vi /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 = yes #z 将此至更改为no
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

    2.3 disable = yes 改成 disable = no

    2.4 配置 /etc/rsyncd.conf 此文件默认没有,需要手动添加,本例代码如下

# vi /etc/rsyncd.conf 
pid file = /var/run/rsyncd.pid
port = 873 #端口号
address = 192.168.16.218 #本机ip
uid = root #运行RSYNC守护进程的用户
gid = root #运行RSYNC守护进程的组
use chroot = no
read only = no
max connections =20
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log
motd file = /etc/rsyncd.motd #此文件需要单独配置,填写的是欢迎文字
timeout = 300

[web] #可以有多个[*]块
path = /home/www/redshu #本机要备份的文件地址
comment = rsync files
ignore errors
read only = no
list = no
hosts allow = 192.168.16.45 # 允许登陆的ip
auth users = web
secrets file = /etc/rsyncd.secrets # 密匙文件,需要手动创建

    2.5 配置 /etc/rsyncd.mod

# vi /etc/rsyncd.motd 
welcome the rsync services!

    2.6 配置 /etc/rsyncd.secrets

# vi /etc/rsyncd.secrets 
web:x13966498715

    2.7 chmod 600 /etc/rsyncd.secrets   //修改权限为600

    2.8 配置防火墙 vi /etc/sysconfig/iptables 添加 873 端口监听 

# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

    2.9 rsync 两种启动方式

# /usr/bin/rsync --daemon # 独立启动
# service xinetd restart # 由xinetd超级进程启动 即2.2 中配置的配置文件 如果没有xinetd 服务,则安装 yum install -y xinetd 即可

    2.10 查看该服务是否监听

# netstat -ano | grep 873
tcp        0      0 192.168.16.218:873          0.0.0.0:*                   LISTEN      off (0.00/0/0)



3. 配置 192.168.16.45 服务器

    3.1 安装 yum -y install rsync

    3.2 不需要配置 /etc/rsyncd.conf 只需要建立一个空文件就可以了

vi /etc/rsyncd.conf

    3.3 配置 iptables 加上873 端口!同上。

    3.4 启动rsync 服务

# /usr/bin/rsync --daemon

     3.5 建立密码文件

# vi /etc/rsyncd.passwd
x13966498715

# chmod 600 /etc/rsyncd.passwd # 密码文件属性必须为600

    3.6 测试是否可以连通

# /usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.passwd web@192.168.16.218::web /home/www
welcome the rsync services!
Password:

    3.7 如果指定了--password-file则不会出现Password这个了。否则填写对应的密码 (第一个web 是第一台服务器配置的用户名,第二个web是第一台服务器配置的web段名称)

    3.7 传输参数说明 

                      -a 参数,相当于-rlptgoD,

                      -r 是递归 

                      -l 是链接文件,意思是拷贝链接文件;

                      -p 表示保持文件原有权限;

                      -t 保持文件原有时间;

                      -g 保持文件原有用户组;

                      -o 保持文件原有属主;

                      -D 相当于块设备文件;
                      -z 传输时压缩;
                      -P 传输进度;
                      -v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;

          --partial阻止rsync在传输中断时删除已拷贝的部分(如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上
删除已拷贝的部分文件。)
        --progress是指显示出详细的进度情况
         --delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。
         --exclude不包含/ins目录
         --size-only 这个参数用在两个文件夹中的差别仅是源文件夹中有一些新文件,不存在重名且被修改过的文件,因为这种文件有可能会因为内容被修改可大小一样,而被略过。这个参数可以大大地提高同步的效率,因为它不需要检查同名文件的内容是否相同。
         --password-file来指定密码文件,内容包含server端指定认证用户的密码。这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。

4.常见错误 

    1. rsync: opendir "." (in backup) failed: Permission denied (13) 关闭selinux 检查备份目录是否755属性

    

                           

结束语

本文有任何错误,或有任何疑问,欢迎留言说明。

本站文章除注明转载外,均为原创文章,会经常更新知识点以及修正一些错误,因此转载请保留原出处,方便溯源,避免陈旧错误知识的误导,同时有更好的阅读体验。

http://www.onephper.com/archive/21.html

相关推荐

评论

回复给XXX取消回复

说点什么吧...

网友最新评论

输入关键字