Linux rsync --数据镜像备份工具

RSYNC软件介绍:

rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:

可以镜像保存整个目录树和文件系统。

可以很容易做到保持原来文件的权限、时间、软硬链接等等。

无须特殊权限即可安装。

优化的流程,文件传输效率高。

可以使用rcpssh等方式来传输文件,当然也可以通过直接的socket连接。

支持匿名传输,以方便进行网站镜象。

软件下载

rysnc的主页地址为:

http://rsync.samba.org/

目前最新版本为2.4.6。可以选择从原始网站下载:

http://rsync.samba.org/ftp/rsync/

。也可以选择从本站下载:rsync 2.4.6

一、下载、安装rsync

#tar zxvfrsync-2.6.9.tar.gz

#cd rsync-2.6.9

#./configure--prefix=/usr/local/rsync

#make 

#makeinstall 

****正常安装RH的时候是带RSYNC的,运行文件放在/usr/bin/rsync 

二、配置rsync server

1、启动RSYNC

#vi/etc/xinetd.d/rsync

 把原来的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(需要手动生成)

rsyncd.conf的参数写在上边就是全局参数和写在模块里的就是模块参数

#vi /etc/rsyncd.conf

全局参数

uid= root                                 //运行RSYNC守护进程的用户

gid= root                                 //运行RSYNC守护进程的组

usechroot = no                //不使用chroot

maxconnections = 4            // 最大连接数为4

strictmodes =yes               //是否检查口令文件的权限

port= 873                     //默认端口873

          

模块参数

[backup]                  //这里是认证的模块名,在client端需要指定

path= /home/backup/       //需要做镜像的目录,不可缺少!

comment= This is a test       //这个模块的注释信息 

ignoreerrors               //可以忽略一些无关的IO错误

readonly = yes             // 只读

list= no                  //不允许列文件

authusers = hening            //认证的用户名,如果没有这行则表明是匿名,此用户与系统无关

secretsfile = /etc/rsync.pas          //密码和用户名对比表,密码文件自己生成

hostsallow = 192.168.1.1,10.10.10.10     //允许主机

hostsdeny = 0.0.0.0/0                  //禁止主机

#transfer logging =yes

注释:下面这些绿色文件是安装完RSYNC服务后自动生成的文件

pidfile = /var/run/rsyncd.pid     //pid文件的存放位置

lockfile = /var/run/rsync.lock     //锁文件的存放位置

logfile = /var/log/rsyncd.log     //日志记录文件的存放位置

 

3、配置rsync密码(在上边的配置文件中已经写好路径)/etc/rsync.pas(名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)

账号:密码

  #vi/etc/rsync.pas

例子:

Hening:111111

权限:因为rsync.pas存储了rsync服务的用户名和密码,所以非常重要。要将rsync.pas设置为root拥有,且权限为600。

#cd /etc

#chownroot.root rsync.pas 

#chmod 600 rsync.pas

3.rsyncd.motd(配置欢迎信息,可有可无)

# vi /etc/rsyncd.motd

rsyncd.motd记录了rsync服务的欢迎信息,你可以在其中输入任何文本信息,如:

Welcome to use thersync services!

4、让配置生效

#service xinetdrestart

三、启动rsync server

 RSYNC服务端启动的两种方法

1、启动rsync服务端(独立启动)

#/usr/bin/rsync–daemon

2、启动rsync服务端(有xinetd超级进程启动)

#/etc/rc.d/init.d/xinetd reload

四:加入rc.local 

在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时把rsync--daemon加载进去。

#vi /etc/rc.local

加入一行/usr/bin/rsync--daemon

    

五.检查rsync

#netstat -a | greprsync

  tcp        0      00.0.0.0:873                0.0.0.0:*                  LISTEN   

六.配置rsyncclient 

1、设定密码

#vi /etc/rsync.pas

111111

修改权限

#cd /etc

#chownroot.root rsync.pas 

#chmod 600 rsync.pas

2、client连接SERVER

 SERVER端取文件

/usr/bin/rsync-vzrtopg --progress --delete hening@192.168.0.217::backup /home/backup --password-file=/etc/rsync.pas

 SERVER端上传文件

  /usr/bin/rsync -vzrtopg --progress --password-file=/root/rsync.pas /home/backup hening@192.168.0.217::backup

   这个命令将把本地机器/home/backup目录下的所有文件(含子目录)全部备份到RSYNC SERVER172.20.0.6)的backup模块的设定的备份目录下。

请注意如果路径结束后面带有"/",表示备份该目录下的东东,但不会创建该目录,如不带"/"则创建该目录。

RSYNC用法:

      rsync [OPTION]... [USER@]HOST::SRC [DEST]             #RSYNC SERVER备份文件到本地机器

   rsync [OPTION]... SRC [SRC]...     [USER@]HOST::DEST   #从本地机器备份文件到RSYNC SERVER

3、自动运行

1)vi/usr/local/rsync/time.sh     //制作脚本文件

把下边的内容复制进去

#!/bin/bash

/usr/bin/rsync-vzrtopg --progress --delete hening@192.168.0.217::backup /home/backup --password-file=/etc/rsync.pas

2) crontab -e

加入55* * * * /usr/local/rsync/time.sh       //55分运行一次time.sh脚本文件

五 iptables

iptables -A INPUT -ptcp -s ! 11.22.33.44 --dport 873 -j DROP

如此, 只有 11.22.33.44 这个client IP 能进入这台 rsync server.

命令介绍:-rvlHpogDtS

rsync命令参数

-v表示verbose详细显示

-z表示压缩

-r表示recursive递归

-t表示保持原文件创建时间

-o表示保持原文件属主

-p表示保持原文件的参数

-g表示保持原文件的所属组

-a存档模式

-P表示代替-partial和-progress两者的选项功能

-e ssh建立起加密的连接。

--partial阻止rsync在传输中断时删除已拷贝的部分(如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上

删除已拷贝的部分文件。)

--progress是指显示出详细的进度情况

--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。

--exclude不包含/ins目录

--size-only这个参数用在两个文件夹中的差别仅是源文件夹中有一些新文件,不存在重名且被修改过的文件,因为这种文件有可能会因为内容被修改可大小一样,而被略过。这个参数可以大大地提高同步的效率,因为它不需要检查同名文件的内容是否相同。

--password-file来指定密码文件,内容包含server端指定认证用户的密码。

这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。

hening@192.168.0.217::backup

hening是指server端指定认证的用户

192.168.0.217是指服务器端的ip

::backup表示服务器端需要同步的模块名称;

/home/quack/backup/$DATE是同步后的文件指存放在本机的目录地址。

/var/log/rsync.$DATE是同步后的日志文件存放在本机的目录地址。

注意

不放/  则目录名也包含mirror,放 / 则只有目录里面的东西mirror

实例总结流程:

1.配置主控端

# vim/etc/rsyncd.conf

###################################

uid = nobody

gid = nobody

use chroot = no

max connections = 4

stirict modes = yes

port = 873

[backup]

path =/usr/local/test/

comment = This is atest

ignore errors

read only = false

list = no

hosts allow =192.168.0.11

hosts deny =0.0.0.0/0

auth users = bakweb

secrets file=/etc/rsyncd.pw

pid file =/var/run/rsyncd.pid

lock file =/var/run/rsync.lock

log file =/var/log/rsyncd.log

###################################

# vim /etc/rsyncd.pw

###################################

bakweb:123456

###################################

# cd /etc

# chown root.rootrsyncd.pw

# chmod 600 rsyncd.pw

启动rsync server

# rsync --daemon

查看端口873是否打开

加入启动

# echo "rsync--daemon" >>/etc/rc.local

给/usr/local/test目录写权限

# chown -Rnobody.nobody /usr/local/test

# chmod -R 770/usr/local/test

主控配置完成

2.客户端配置

# vim /etc/rsyncd.pw

####################################

123456

####################################

# chown root.root/etc/rsyncd.pw

# chmod 600/etc/rsyncd.pw

再使用命令直接更新到服务器数据文件就不需要密码

rsync-vzrtopg --progress --password-file=/etc/rsyncd.pw /usr/local/bin/ bakweb@192.168.0.10::backup

注意:

1.这里的backup名字为主控conf配置里面的[backup],一定要同名

2.bakweb为主控conf配置里面的bakweb,可以随意命名,不是系统用户


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值