云计算运维 · 学习b记 · 第二阶段

学习b记 · 第二阶段

第一阶段的后面还有两块,一个网络基础和一个抓包,需要在润色一下再发,第一阶段已经学完了,但是笔记还有很多东西没弄好后面有空再修改吧,这是第二阶段的第一章rsync备份服务,以后每天晚上都会传一次

一、rsync备份服务

rsync是一款开源、快速、多功能、可实现全量及增量的本地或远程数据同步备份的优秀工具。rsync软件适用于Unix/linux/Windows等多种操作系统平台。
rsync官方地址:TP
rsync监听端口:873
rsync运行模式:C/S*
1、备份类型介绍
	1)完全备份
		将客户端所有的数据内容file1 file2 file3全部备份至服务端 (效率低下, 占用空间)
	2)增量备份
		将客户端的file2 file3增量备份至服务端 (提高备份效率,节省空间, 适合异地备份 )
2、Rsync使用三种主要的数据传输方式
	1)本地方式
		单个主机本地之间的数据传输(此时类似于cp命令)
		#本地拷贝数据命令
		Local:  rsync [OPTION...] SRC... [DEST]
		#本地拷贝数据示例
		[root@backup ~]# rsync  -avz  /etc/passwd  /tmp/
         rsync       #备份命令(cp)
         [options]   #选项
         SRC...      #本地源文件
         [DEST]      #本地目标文件
	2)远程方式
		通过ssh通道传输数据,类似scp命令
		#pull拉取数据命令
         Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
         #pull拉取数据示例
         [root@backup ~]# rsync -avz root@172.16.1.41:/etc/hostname ./#拉取远程文件
         [root@backup ~]# rsync -avz root@172.16.1.41:/root/ /backup/ #拉取远程目录下的所有文件
         [root@backup ~]# rsync -avz root@172.16.1.41:/root /backup/#拉取远程目录以及目录下的所有文件
         Pull        #拉取, 下载
         rsync       #备份命令
         [options]   #选项
         [USER@]     #目标主机的系统用户
         HOST        #目主机IP地址或域名
         SRC...      #目标主机源文件
         [DEST]      #下载至本地哪个位置

         #push推送数据命令
         Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
         #push推送数据示例
         rsync -avz /backup/2018-10-01 root@172.16.1.41:/tmp/
         Push        #推送, 上传
         rsync       #备份命令
         [options]   #选项
         SRC...      #本地源文件
         [USER@]     #目标主机的系统用户
         HOST        #目主机IP地址或域名
         [DEST]      #目标对应位置
	3)守护进程
		rsync自身非常重要的功能(不使用系统用户,更加安全)
		#pull拉取数据命令
         Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
         #1.拉取rsync备份服务的"backup模块"数据至本地/mnt目录
         [root@nfs01 ~]# rsync -avz rsync_backup@192.172.16.1.41::backup/ /mnt/ --password-file=/etc/rsync.password
         rsync           #命令
         [OPTION...]     #选项
         [USER@]         #远程主机用户(虚拟用户)
         HOST::          #远程主机地址  
         SRC...          #远程主机模块(不是目录)
         [DEST]          #将远程主机数据备份至本地什么位置     
         #push推送数据命令
         Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
         #2.将本地/mnt目录推送至rsync备份服务器的backup模块
         [root@nfs01 ~]# rsync -avz /mnt/ rsync_backup@192.172.16.1.41::backup/ --password-file=/etc/rsync.password
         rsync           #命令
         [OPTION...]     #选项
         SRC...          #远程主机模块(不是目录)
         [USER@]         #远程主机用户(虚拟用户)
         HOST::          #远程主机地址
         [DEST]          #将远程主机模块备份至本地什么位置
3、Rsync命令对应选项
      -a           #归档模式传输, 等于-tropgDl
      -v           #详细模式输出, 打印速率, 文件数量等
      -z           #传输时进行压缩以提高效率
      -r           #递归传输目录及子目录,即目录下得所有目录都同样传输。
      -t           #保持文件时间信息
      -o           #保持文件属主信息
      -p           #保持文件权限
      -g           #保持文件属组信息
      -l           #保留软连接
      -P           #显示同步的过程及传输时的进度等信息
      -D           #保持设备文件信息
      -L           #保留软连接指向的目标文件
      -e           #使用的信道协议,指定替代rsh的shell程序
      --exclude=PATTERN   #指定排除不需要传输的文件模式
      --exclude-from=file #文件名所在的目录文件
      --bwlimit=100       #限速传输
      --partial           #断点续传
      --delete            #让目标目录和源目录数据保持一致
      --password-file=xxx #使用密码文件
 4、Rsync服务实践
 	服务器配置
    1[root@backup ~]# cat /etc/rsyncd.conf
     uid = rsync
     gid = rsync
     port = 873
     fake super = yes
     use chroot = no
     max connections = 200
     timeout = 600
     ignore errors
     read only = false
     list = false
     auth users = rsync_backup
     secrets file = /etc/rsync.passwd
     log file = /var/log/rsyncd.log
     #####################################
     [backup]
     comment = welcome to oldboyedu backup!
     path = /backup
     
     2) 创建rsync账户,不允许登录不创建家目录
	[root@backup ~]# useradd -M -s /sbin/nologin rsync
	
     3) 创建备份目录(尽可能磁盘空间足够大),授权rsync用户为属主
	[root@backup ~]# mkdir /backup
	[root@backup ~]# chown -R rsync.rsync /backup/
	
	4)创建虚拟用户密码文件, 授权600安全权限(用于客户端连接时使用的用户)
	[root@backup ~]# echo "rsync_backup:zls" >/etc/rsync.passwd
	[root@backup ~]# chmod 600 /etc/rsync.passwd
	
	5)启动rsync服务,并将rsync加入开机自启动
	[root@backup ~]# systemctl start rsyncd
	[root@backup ~]# systemctl enable rsyncd
	6)检查端口
	[root@backup ~]# netstat -lntup
	Active Internet connections (only servers)
	Proto Recv-Q Send-Q Local Address       Foreign Address         State       PID/Program name   
	tcp        0      0 0.0.0.0:873             0.0.0.0:*           LISTEN      4758/rsync
	客户端配置
	7)Rsync客户端仅需配置虚拟用户的密码,并授权为600安全权限
	# 方式一:适合终端执行指定用户密码文件
	[root@nfs01 ~]# yum install rsync -y
	[root@nfs01 ~]# echo "zls" > /etc/rsync.pass
	[root@nfs01 ~]# chmod 600 /etc/rsync.pass
	# 方式二:脚本中使用,强烈推荐方式
	[root@nfs01 ~]# export RSYNC_PASSWORD=zls
	8)实战一
	客户端推送backup目录下所有内容至Rsync服务端
	[root@nfs01 ~]# export RSYNC_PASSWORD=zls
	[root@nfs01 ~]# rsync -avz /backup/ rsync_backup@172.16.1.41::backup/
	9)实战二
	客户端拉取Rsync服务端 backup模块数据至本地客户端的 /backup目录
	[root@nfs01 ~]# export RSYNC_PASSWORD=zls
	[root@nfs01 ~]#rsync -avz rsync_backup@172.16.1.41::backup /backup/
	10)实战三
	Rsync实现数据无差异同步
	#拉取远端数据:远端与本地保持一致,远端没有本地有会被删除, 造成客户端数据丢失
	[root@nfs01 ~]# export RSYNC_PASSWORD=zls
	[root@nfs01 ~]# rsync -avz --delete rsync_backup@172.16.1.41::backup/ /data/
	#推送数据至远端:本地与远端保持一致, 本地没有远端会被删除, 造成服务器端数据丢失
	[root@nfs01 ~]# export RSYNC_PASSWORD=zls
	[root@nfs01 ~]# rsync -avz --delete /data/ rsync_backup@172.16.1.41::backup/
	11)实战四
	Rsync的Limit限速
	#企业案例: 某DBA使用rsync拉取备份数据时,由于文件过大导致内部交换机带宽被沾满,导致用户的请求无法响应
	[root@nfs01 ~]# export RSYNC_PASSWORD=zls
	[root@nfs01 ~]# rsync -avz --bwlimit=1 rsync_backup@172.16.1.41::backup/ /data/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值