Linux运维笔记 网站构架01

备份reync

什么是备份

就是把文件再复制一份存储起来

为什么做备份

数据非常重要,尽可能保证数据不丢失,快速的恢复数据

不重要的数据可以不考虑

备份的方式

完全备份:完整的复制 (效率低、占用空间)

增量备份:只复制变化的部分 (第一次备份是完全备份,效率高,节省空间)

备份工具

本地备份:cp 

远程备份:scp、rsync

rsync

远程同步,可以实现不同主机之间的同步,支持全量和增量同步(备份)

应用场景

前置条件: 1.推Push:将本地数据推送到备份服务器

            2.拉Pull:将备份服务器的数据下载到本地

大量服务器备份:多个备份服务器汇总到一个服务器

异地备份:云备份服务器

rsync三大传输模式

本地传输:单个主机之间的数据拷贝,类似cp

rsync -avz 要备份什么文件的路径 目标位置

远程传输:借助ssh协议,需要知道对端的用户名和密码

推送:rsync -avz 源文件路径 root@172.16.1.31:/目标位置

拉取:rsync -avz root@172.16.1.31:/目标文件位置 本地路径

如果只推送目录,"/etc/" 加/表示连目录下的文件一块推送,不加/表示只推送目录

依托对端机(服务端)的用户身份权限

守护进程:不使用系统用户,使用一个虚拟的用户来实现推送,运行在后台,持续提供服务

1.安装rsync

2.配置

vim /etc/rsyncd.conf 
01.png

--- 配置详解

uid = rsync # 运行进程的用户

gid = rsync # 运行进程的用户组

port = 873 # 监听端口

fake super = yes # 不需要rsync已root身份运行,就可以存储文件的完整属性

use chroot = no # 禁锢推送的数据至某个目录, 不允许跳出该目录

max connections = 200 # 最大连接数

timeout = 600 # 超时时间

ignore errors # 忽略错误信息

read only = false # 对备份数据可读写

list = false # 不允许查看模块信息

auth users = rsync_backup # 定义虚拟用户,作为连接认证用户

secrets file = /etc/rsync.passwd # 定义rsync服务用户连接认证密码文件路径

[backup] # 定义模块信息

comment = commit # 模块注释信息

path = /backup # 定义接收备份数据目录

创建进程运行的用户rsync 
02.png
定义虚拟用户的密码 
03.png

创建存储数据的目录/backup ,更改属主属组

mkdir /backup

chown -R rsync.rsync /backup    

3.启动

systemctl start rsyncd

systemctl start rsyncd

4.测试

rsync -avz 源文件路径 rsync_backup@172.16.1.41::backup 

rsync选项

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 #让目标目录和源目录数据保持一致

无需输入密码实现rsync推送和拉取

方式一: --password-file

 echo "123456" > /etc/rsync.pass

 chmod 600 /etc/rsync.pass

 rsync -avz --delete  rsync_backup@172.16.1.41::backup /opt/ --password-file=/etc/rsync.pass

方式二: 设定环境变量方式

export RSYNC_PASSWORD=123456    #只当前窗口有用,换一个窗口就没用了(放到脚本中使用,非常的方便)

rsync -avz --delete  rsync_backup@172.16.1.41::backup /opt/
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容