数据相关服务-第1个服务-备份服务

1. 备份服务概述

  • 备份服务:需要使用到脚本,打包备份,定时任务.

  • 备份服务:rsyncd服务,不同主机之间数据传输.

  • 特点:

    • rsync是个服务也是命令
    • 使用方便,具有多种模式
    • 传输数据的时候是增量传输

增量与全量:

全量: 无论多少数据 全部 推送走(scp).

增量: 只会把 修改,新建 了的文件传输走(rsync).

把/etc/目录传输到另一台机器的/tmp/下面
scp -r /etc/sysconfig/ root@10.0.0.31:/tmp/
rsync -avz   /etc/sysconfig/ root@10.0.0.31:/mnt/

2.Rsync企业应用场景

  • 应用场景(业务场景)

image

image

image

image

image

3.Rsync使用模式

image

4.推与拉

  • 本质:
    • 在于你当前在哪台节点(node)
    • 你要的东西在哪里

image

5.rsync不同的模式

5.1.rsync本地模式(了解)

rsync -a /etc/   /tmp/
rsync -a /etc   /opt/

⚠ 在rsync对于目录 /etc/ /etc 是有区别的.

/etc /etc目录+目录的内容

/etc/ /etc/目录下面的内容

5.2 远程模式⭐⭐⭐⭐⭐

  • 1对1进行远程传输数据

image

#推送/etc/hostname 到10.0.0.31的/tmp/目录
rsync -a /etc/hostname   root@10.0.0.31:/tmp

#推送/etc 目录及目录内容 到31的 /tmp下面
推送第1次 全量
rsync -av /etc   root@10.0.0.31:/tmp
推送第2次 发现没有推送
rsync -av /etc   root@10.0.0.31:/tmp
创建文件再次推送
touch /etc/lidao.txt
rsync -av /etc   root@10.0.0.31:/tmp
#通过scp推送 /etc 目录及目录内容 到31的 /opt下面
scp -r /etc/ root@10.0.0.31:/opt/
-r 递归传输

5.3.守护进程模式 ⭐⭐⭐⭐⭐

image

5.3.1检查是否安装

检查安装 更新
yum install -y rsync
检查软件包内容
/etc/rsyncd.conf  #配置文件
/usr/bin/rsync    #命令
/usr/lib/systemd/system/rsyncd.service #systemctl对应的配置文件.

image

5.3.2.进行配置_ 配置详解

 https://www.processon.com/view/link/62fde39c0791294c5eabf792

image

  • 进行配置
[root@myvps ~]#  cat /etc/rsyncd.conf 
#created by oldboy 15:01 2009-6-5
rsyncd.conf start
fake super =yes
uid = rsync
gid = rsync
use chroot = no
max connections = 2000
timeout = 600
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 = 10.0.0.0/24
#hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
#####################################
[data]
comment = www by old0boy 14:18 2012-1-13
path = /data

#启动服务
systemctl enable rsyncd
systemctl start rsyncd
#检查进程
ps -ef |grep rsync
#检查端口
ss -lntup |grep rsync


  • 后续配置
#1.添加虚拟用户
useradd  -s /sbin/nologin -M   rsync
	
#2.创建密码文件
密码文件格式:   用户名:密码
echo 'rsync_backup:123 ' >/etc/rsync.password
chmod 600 /etc/rsync.password

#3.共享目录与权限
mkdir /data/

  • 启动服务
systemctl start rsyncd
systemctl enable rsyncd 
  • 访问测试

image

  • 本地测试
[root@myvps ~]# rsync -avz /etc/hostname rsync_backup@10.0.0.41data
Password:
sending incremental file list
hostname

sent 102 bytes received 43 bytes  41.43 bytes/sec
total size is 7 speedup is 0.05
[root@myvps ~]# 
[root@myvps ~]# ll /data/
total 4
-rw-rr 1 rsync rsync 7 Aug 16 16:02 hostname
  • 客户端测试
[root@nfs01 ~]# rsync -avz   /etc/hosts
rsync_backup@172.16.1.41data
Password:
sending incremental file list
hosts

sent 214 bytes received 43 bytes  73.43 bytes/sec
total size is 329 speedup is 1.28

  • 免密码传输数据到服务端

image

6.守护进程-补充

6.1.uid,gid 与 auth user(熟悉)

深刻理解uid,gid,,authr user,secret file

1.用户执行命令:rsync -avz /tmp/etc.tar.gz rsync_backup@backup::data --password-file=/etc/rsync.client
2.服务端收到数据:判断rsync_backup用户,然后等待输入密码
3.把用户名和密码与配置文件里面对比 auth user 和secretsfile
4.通过后,传输数据
5.数据到达服务器所有者被修改为uid和gid指定的(rsync)
6.数据写入data模块(/data/)目录下面.

image

6.2 免密的方式连接服务端(命令行指定客户端密码文 件) ⭐⭐⭐⭐⭐

# 客户端密码文件只存储密码即可
echo 123 >/etc/client.rsync
chmod 600 /etc/client.rsync
rsync -avz   /etc/hosts
rsync_backup@172.16.1.41::data  --password-file=/etc/client.rsync	

6.3.访问控制-安全措施

  • hosts allow 只准许指定的ip或网段访问.
  • hosts deny 拒绝.
配置只准许172.16.1.0/24 网段访问

7.rsync选项

image

限速并传输
rsync  -aP --bwlimit=500kb   /tmp/1g   10.0.0.31:/mnt/
	传输并排除
rsync -av .   root@10.0.0.31:/tmp/   exclude=04
rsync -av .   root@10.0.0.31:/mnt   exclude={04,05}

通过文件内容进行排除
[root@backup /oldboy]# cat /tmp/paichu.txt
03
05
10
[root@backup /oldboy]# rsync -av .  
root@10.0.0.31:~   --exclude-from=/tmp/paichu.txt 


保持源与目标数据一致
rsync  -avP --delete   .   root@10.0.0.31:/tmp/
posted @ 2025-03-26 23:59  殇ベ墨~  阅读(26)  评论(0)    收藏  举报