首页 > 代码库 > 搭建备份服务器

搭建备份服务器

一、rsync的特性

rsync的特性:

1、  支持拷贝特殊文件,设备等

2、  可以有排除指定文件或者目录同步的功能,相当于tar的排除功能

3、  可以做到保持源文件或目录的权限、时间、软硬连接、属主、组等所有属性均不改变-p

4、  可实现增量同步,既只能同步发生变化的数据,因此数据传输效率很高(tar -N)

5、  可以使用rcp,rsh,ssh等方式来配合传输文件(rsync本身不对数据加密)

6、  可以通过socket(进程方式)传输文件和数据(服务端和客户端

7、  支持尼米ingde或认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像

二、rsync的应用

web服务器到备份服务器之间—》定时备份站点数据及配置  cron+rsync

nfs服务端到备份服务器之间---》实时备份 sersync+rsync  \inotify+rsync  \lrsyncd+rsync

三、rsync的用法

rsync的参数:

-v  详细模式输出,传输的进度等信息

-z  传输的时候进行压缩提高传输的效率

-a   归档模式,表示递归方式传输并且保持所有文件属性,等于-rtopgDl

-e   -rsh = COMMAND使用的通道协议,指定替代rsh的shell程序

--bwlimit 限速

 

三、rsync的三种模式

1)local模式

rsync -avz /etc/hosts /tmp/     ===》cp

rsync -avz --delete /tmp1/ /mnt/   ===>rm

 

第二种工作模式、使用远程的shell -e指定隧道

推  把文件推到服务器端   注意这里的ip是对面的ip

 rsync -avzP -e ‘ssh -p 22‘ /tmp/ root@10.0.0.41:/tmp

 rsync -avzP -e ‘ssh -p 22‘ root@10.0.0.41/tmp /opt   这里是把tmp目录和tmp里面的内容都拉过来

 rsync -avzP -e ‘ssh -p 22‘ root@10.0.0.41:/tmp/ /opt 这个是把tmp的子目录里面的内容全部拉过来注意拉的ip是对面的ip

如果传输速度太慢。要在/etc/ssh/sshd_config 81行注释掉、80行打开,122行打开

 

第三种以守护进程(socket)的方式传输数据

需要做以下准备

1、配置服务端rsync

1)服务端的错误日志cat /var/log/rsyncd.log

1)首先给备份服务器设置配置文件

vim /etc/rsyncd.conf

uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only =false
list = false
hosts allow =172.168.1.0/24
#hosts deny = 0.0.0.0/32#---》上面是允许网段,这个是不允许网段,所以配置文件二选一
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
path = /backup

2)创建uid和gid    useradd rsync -s /sbin/nologin -M

3)创建模块目录并且授权

mkdir /backup

chown -r rsync /backup/

4)创建密码文件,并且收缩权限

echo "rsync_backup:pyrene">/etc/rsync.password

chmod 600 /etc/rsync.password

5、查看版本和端口

rsync —daemon

netstat -lntup|grep rsync

Ps -ef |grep rsync|grep -v grep

6、加入开机自启动

chkconfig rsync on

echo “rsync --daemon”>>/etc/rc.local

tail -1 /etc/rc.local

2配置rsync客户端

1、创建密码文件

echo “pyrene” >/etc/rsync.password

chmod 600 /etc/rsync.password

2、创建备份目录(用于打包文件)

mkdir /backup

3,daemon模式用法

第一种模式:

push:推   下面是把客户端的tmp下内容推到服务端叫做rsync_backup这个auth users下的backup模块里面

rsync -avz /tmp/ rsync_backup@172.16.1.41::backup —password-file=/etc/rsync.password

rsync -avz rsync_backup@192.168.241.132::backup /tmp/ —password-file=/etc/rsync.password

 

第二种模式:

Rsync -avz rsync://rsync_backup@192.168.241.132/backup/ /tmp --password-file=/etc/rsync.password

rsync -avz /tmp/ rsync://rsync_backup@192.168.241.132/backup/

--password-file=/etc/rsync.password

四、排除及无差异同步

排除单个文件:

rsync -avz —exclude=a /backup/ rsync_backup@172.168.16.1.41::backup —password-file=/etc/rsync.password

排除多个文件:

rsync -avz —exclude={a,b} /backup/ rsync_backup@172.168.16.1.41::backup —password-file=/etc/rsync.password

也可以把—exclude={a..g}或者—exclude-from=paichu.log

 

无差异同步:(谨慎使用)

--delete

rsync -avz —delete /backup/ rsync_backup@172.168.16.1.41::backup —password-file=/etc/rsync.password

上面就是把前面的目录里面的东西和后面模块里面的一样

 

总结:rsync三种工作模式

1、  local:rsync(cp rm)

2、  通道模式:

Rsync -avzP -e ‘ssh -p 22’ /etc root@10.0.0.142:/tmp

一般配合ssh key面密钥传输,结合定时任务

3、daemon模式:

内网不需要加密,加密性能有损失

如果需要跨机房需要rsync+vpn(pptp,openvpn,ipsec)

扩展:

1、关于限速和断点续传

断点续传:--partial

限速参数:--bwlimit

[root@nfs01 ~]# rsync -avz --bwlimit=1 /root/test1 rsync_backup@172.168.1.41::backup --password-file=/etc/rsync.password

上面就是设置限速,这里设置的是1k每秒

 

搭建备份服务器