九、搭建备份服务器 使用rsync服务
简介
Rsync是开源快速、多功能,可以实现全量和增量的本地或者远程数据同步备份的优秀工具。增量备份效率更高,可以同步内容也可以同步属性
[root@backup-41 ~]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
特性:
1、支持拷贝特殊文件如链接文件和设备等
2、可以有排除指定文件或目录同步的功能
3、可以做到保持源文件和目录的权限
4、可以实现增量同步
5、可以使用rcp,rsh,ssh等方式配合传输文件、
6、可以通过socket进程方式传输文件和数据,服务端和客户端
7、支持匿名的或认证(无需系统用户)的进程模式传输
场景:
定时备份,增量备份,实时备份
工作方式
第一种方式 local本地复制 相当于cp
第二种方式 通过远程的shell进行数据传输
pull 从远端拉到执行命令的服务器
push 从执行命令的服务器推到远端
第三种方式
rsync客户端之间的
pull 拉
push 推
第一种local方式参数
v :详细输出模式,传输时候的进度等信息
z:传输时进行压缩可以提高传输效率
a:归档模式,表示递归方式传输文件,保持所有文件属性
a把下面的信息全部包含
r:对子目录以递归模式,目录下所有目录都同样传输
t:保持文件时间信息
o:保持文件属主信息
g:保持文件权限
-g:保持文件属组信息
--exclude=PATTERN指定排除不需要传输的文件模式 ,指定文件排除
-exclude-from=file (文件名所在的目录文件)排除多个文件
--bwlimit=RATE limit socket I/Obandwidth 限速
--delete 保持两个目录一致
例子:
复制的功能:
[root@backup-41 ~]# cp -a /etc/hosts /tmp/
[root@backup-41 ~]# rsync /etc/hosts /mnt/ 这里复制的时候注意,/etc/这个就是复制/etc里面的内容,/etc不带斜线那么就是复制etc下面所有的内容 复制属性: avz = vzrtopg
[root@backup-41 ~]# rsync vzrtopg /etc/host /mnt/
rsync: link_stat "/root/vzrtopg" failed: No such file or directory (2)
rsync: link_stat "/etc/host" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6] 删除功能: 适用于本地和远端保持一致的情况
本地没有,远端也没有。本地没有,远端有,也会被删除
适用于两个目录或者服务器之间完全一样的情况、
rsync –avz –delete /本地 /远端
第二种方式使用远端的shell
借助通道,必须知道对方的密码
使用-e参数,使用ssh通道的方式
rsync 参数 源文件 –e ‘ssh –p 22’ 对方用户名@ip地址:/远程目录
[root@backup-41 /]# rsync -avz /etc/hosts -e 'ssh -p 22' root@10.0.0.31:/mnt
The authenticity of host '10.0.0.31 (10.0.0.31)' can't be established.
RSA key fingerprint is 50:c8:39:43:5f:c3:fd:7b:0a:4c:7d:1a:ab:51:c4:cd.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.31' (RSA) to the list of known hosts.
root@10.0.0.31's password:
sending incremental file list
hosts sent 124 bytes received 31 bytes 20.67 bytes/sec
total size is 158 speedup is 1.02
第三种以socket的方式传输数据
搭建rsync服务daemon守护进程 873端口,然后在其他服务器上(客户端)用rsync命令
注意:1、无论使用pull还是push都是在客户端执行的
2、rsync是搭建在backup备份服务器上面的
配置文件/etc/rsyncd.conf
#用户uid
uid = rsync
#用户gid
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
#模块
[backup]
#共享的目录
path = /backup/
#忽略错误
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
2、创建虚拟账户
[root@backup-41 ~]# useradd rsync -s /sbin/nologin -M
[root@backup-41 ~]# tail -1 /etc/passwd
rsync:x:501:501::/home/rsync:/sbin/nologin
3、启动
[root@backup-41 ~]# rsync --daemon
[root@backup-41 ~]# ps -ef |grep rsync |grep -v grep
root 1349 1 0 09:56 ? 00:00:00 rsync --daemon
4、创建目录
root@backup-41 ~]# mkdir /backup
5、设置属主和组
[root@backup-41 ~]# chown rsync.rsync /backup/
[root@backup-41 ~]# ls -ld /backup/
drwxr-xr-x 2 rsync rsync 4096 12月 28 09:58 /backup/
6、设置rsync的密码和访问权限
[root@backup-41 ~]# vim /etc/rsync.passwd
[root@backup-41 ~]# cat /etc/rsync.passwd
rsync_backup:123456
[root@backup-41 ~]# chmod 600 /etc/rsync.passwd
[root@backup-41 ~]# ll /etc/rsync.passwd
-rw------- 1 root root 20 12月 28 10:00 /etc/rsync.passwd
7查看端口对应的服务
[root@backup-41 ~]# lsof -i :873
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 1349 root 4u IPv4 11072 0t0 TCP *:rsync (LISTEN)
rsync 1349 root 5u IPv6 11073 0t0 TCP *:rsync (LISTEN)
[root@backup-41 ~]# netstat -lntup|grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 1349/rsync
tcp 0 0 :::873 :::* LISTEN 1349/rsync
8、加入开机自启动
[root@backup-41 ~]# echo "/usr/bin/rsync --daemon">>/etc/rc.local
[root@backup-41 ~]# tail -1 /etc/rc.local
/usr/bin/rsync --daemon
9、排错的话查看日志
[root@backup-41 ~]# tail /var/log/rsyncd.log
2017/12/28 09:56:58 [1349] rsyncd version 3.0.6 starting, listening on port 873
配置客户端
1、首先创建和服务端一样的密码文件
[root@NFS-31 ~]# vim /etc/rsync.password
[root@NFS-31 ~]# vim /etc/rsync.password
2、设置权限
[root@NFS-31 ~]# chmod 600 /etc/rsync.password
[root@NFS-31 ~]# cat /etc/rsync.password
123456
[root@NFS-31 ~]# ll /etc/rsync.password
-rw------- 1 root root 7 12月 28 10:15 /etc/rsync.password
3、创建打包文件
[root@NFS-31 ~]# mkdir -p /backup
模拟推送
推送 pull 客户端推送到服务端
方法一
在客户端创建一个文件a
[root@NFS-31 backup]# touch a
推送到服务端,免密码推送
[root@NFS-31 backup]# rsync -avz /backup/ rsync_backup@172.168.1.41::backup/ --password-file=/etc/rsync.password
sending incremental file list
./
a sent 879 bytes received 30 bytes 1818.00 bytes/sec
total size is 0 speedup is 0.00
方法二
[root@NFS-31 backup]# rsync -avz /backup/ rsync://rsync_backup@172.168.1.41/backup/子目录/ --password-file=/etc/rsync.password
sending incremental file list sent 840 bytes received 8 bytes 1696.00 bytes/sec
total size is 0 speedup is 0.00
Rsync服务多模块
2、创建这个模块目录并且授权
[root@backup-41 backup]# mkdir /pyrene
[root@backup-41 backup]# chown rsync.rsync /pyrene
[root@backup-41 backup]# ls -ld /pyrene
drwxr-xr-x 2 rsync rsync 4096 12月 28 11:09 /pyrene
3从客户端哪里推送,这里两种方法
方法一
[root@NFS-31 backup]# rsync -avz /backup rsync://rsync_backup@172.168.1.41/pyrene --password-file=/etc/rsync.password
sending incremental file list sent 857 bytes received 9 bytes 1732.00 bytes/sec
total size is 0 speedup is 0.00
方法二
[root@NFS-31 backup]# rsync -avz /backup/ rsync_backup@172.168.1.41::pyrene --password-file=/etc/rsync.password
sending incremental file list sent 840 bytes received 8 bytes 1696.00 bytes/sec
total size is 0 speedup is 0.00
排除同步客户端指定 加上—exclude参数
rsync优点:
1、增量备份,支持socket,集中备份
2、远程shell可以使用加密传输
缺点:
1、大量小文件同步时间比较长
2、同步大文件10g大文件有时候会中断,可以通过断点续传等实现传参
一次性远程拷贝可以用scp
Rsync是开源快速、多功能,可以实现全量和增量的本地或者远程数据同步备份的优秀工具。增量备份效率更高,可以同步内容也可以同步属性
[root@backup-41 ~]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
特性:
1、支持拷贝特殊文件如链接文件和设备等
2、可以有排除指定文件或目录同步的功能
3、可以做到保持源文件和目录的权限
4、可以实现增量同步
5、可以使用rcp,rsh,ssh等方式配合传输文件、
6、可以通过socket进程方式传输文件和数据,服务端和客户端
7、支持匿名的或认证(无需系统用户)的进程模式传输
九、搭建备份服务器 使用rsync服务的更多相关文章
- Centos6.9 搭建rsync服务端与客户端 案例:全网备份项目
rsync的企业工作场景说明 1)定时备份 1.1生产场景集群架构服务器备份方案项目 借助cron+rsync把所有客户服务器数据同步到备份服务器 2)实时复制 本地数据传输模式(local-only ...
- Linux搭建rsync服务
一.Rsync的简单介绍 Rsync是一款开源的.快速的.多功能的.可实现全量及增量(全量备份是指全部备份,增量备份是在上一次备份的基础上只备份更新的内容)的本地货远程数据同步备份的优秀工具.Rsyn ...
- 九、Swift对象存储服务(双节点搭建)
九.Swift对象存储服务(双节点搭建) 要求:Controoler节点需要2块空盘 Compute节点需要再加2块空盘 本次搭建采用Controller 和 Compute双节点节点做swift组件 ...
- 如何使用RSYNC搭建备份服务器
1. RSYNC介绍 RSYNC是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于unix/linux/windows等多种操作系统平台. 远程数 ...
- rsync 服务搭建
rsync 服务搭建 服务端部署操作内容: 创建rsync用户和用户组 eg: useradd -s /sbin/nologin -M rsync 创建需要备份的指定目录,并修改权限 eg: mkdi ...
- [Linux] 搭建rsync服务端
rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输. Linux守护进程的运行方式:1.独立运行(stand-al ...
- CentOS7 Rsync服务搭建-Rsync+Inotify架构实现实时同步
一.rsync 概念 1.rsyncrsync是类unix/linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同 ...
- rsync服务搭建--2018.5.8 [优化后最终版]
2018年5月8日 22:09:38 第一步配置基础环境(按照自己的规划配置并非每人的环境都一致) 第一台服务器(RSYNC服务器): rsync外网地址:10.0.0.41 rsync内网地址:1 ...
- 搭建rsync服务(端口号873)
rsync详细参数 1.-v,--verbose 详细模式输出,传输是的进度信息 2.-z,--compress 传输是进行压缩以提高传输效率,--comperess -level = NUM可以按级 ...
随机推荐
- Unity3D学习笔记——NGUI之UIGrid
UIGrid:这个组件可以轻松的让你排列你的组件,并且在运行或是编辑的时候都可以. 效果图如下: 一:使用步骤 1.选择一个panel然后右键Create——Grid 2.为Grid创建几个子Spri ...
- Socket使用及简单实例
一.搭建服务器端 a).创建ServerSocket对象绑定监听端口. b).通过accept()方法监听客户端的请求. c).建立连接后,通过输入输出流读取客户端发送的请求信息. d).通过输出流向 ...
- 队列实现 (双向循环链表 C++)
队列是非常easy的.可是用数组实现可能更好点. . (事实上我认为数组在多个队列的时候更难) 然后我是第一次写双向循环链表.指向太乱了. 我这里是依照自己的想法.建立了一个头节点,一个尾节点,然后依 ...
- Python动态网站的抓取
网页下载器 # coding:utf-8import requestsimport urllib2import systype = sys.getfilesystemencoding()class H ...
- 关于new HashMap<>(1)中1的理解(hashMap的加载因子)
新入公司,阅读代码的时候发现了一行代码,为 Map<String, String> map=new HashMap<>(1); 对于这个括号里面的1不能理解,于是查了资料,大概 ...
- Linq与扩展方法
使用数据集 /// <summary> /// 库房信息类 /// </summary> public class Kfxx { /// <summary> /// ...
- 【BZOJ2793】[Poi2012]Vouchers 调和级数
[BZOJ2793][Poi2012]Vouchers Description 考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个.正整 ...
- 《从零开始学Swift》学习笔记(Day 32)——计算属性
原创文章,欢迎转载.转载请注明:关东升的博客 计算属性本身不存储数据,而是从其他存储属性中计算得到数据. 计算属性概念: 计算属性提供了一个getter(取值访问器)来获取值,以及一个可选的sette ...
- 关于angularjs的select下拉列表存在空白的解决办法
angularjs 的select的option是通过循环造成的,循环的方式可能有ng-option或者</option ng-repeat></option>option中 ...
- Python菜鸟之路:Django CSRF跨站请求伪造
前言 CSRF,Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对 ...