linux系统的备份管理

 centos7系统备份与还原

    1、系统备份

    下面是我用来备份系统的完整命令:

    # cd /# tar -zcvpf centos7.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=centos7.tgz /

    “tar”当然就是我们备份系统所使用的程序了。

    “cvpfz”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。

    “backup.gz”是我们将要得到的档案文件的文件名。

    “/”是我们要备份的目录,在这里是整个文件系统。

    在档案文件名“backup.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“/lost+  found”、“/sys”。当然,“backup.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“/mnt”排  除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西, 必须把“/media”也排除在外。

    有人可能会建议你把“/dev”目录排除在外,但是我认为这样做很不妥,具体原因这里就不讨论了。

    执行备份命令之前请再确认一下你所键入的命令是不是你想要的。执行备份命令可能需要一段不短的时间。

    备份完成后,在文件系统的根目录将生成一个名为“backup.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。

    在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’,多数情况下你可以忽略它。

    你还可以用Bzip2来压缩文件,Bzip2比gzip的压缩率高,但是速度慢一些。如果压缩率对你来说很重要,那么你应该使用Bzip2,用“j”代替命令中的“z”,并且给档案文件一个正确的扩展名“bz2”。完整的命令如下:

    tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys /

    2、系统恢复

    在进行恢复系统的操作时一定要小心!如果你不清楚自己在做什么,那么你有可能把重要的数据弄丢,请务必小心!

    接着上面的例子。切换到root用户,并把文件“backup.tgz”拷贝到分区的根目录下。

    在  Linux中有一件很美妙的事情,就是你可以在一个运行的系统中恢复系统,而不需要用boot-cd来专门引导。当然,如果你的系统已经挂掉不能启动了, 你可以用Live CD来启动,效果是一样的。你还可以用一个命令把Linux系统

中的所有文件干掉,当然在这里我不打算给出这个命令!

    使用下面的命令来恢复系统:

  tar -zcvpf backup.tar.gz -C /

    如果你的档案文件是使用Bzip2压缩的,应该用:

  tar xvpfj backup.tar.bz2 -C /

    注意:上面的命令会用档案文件中的文件覆盖分区上的所有文件。

    执行恢复命令之前请再确认一下你所键入的命令是不是你想要的,执行恢复命令可能需要一段不短的时间。

rsync实现数据备份

    1、rsync是什么

    在开始正式学习 rsync 之前,我们先来回答这个问题:rsync 是什么。

    rsync(remote synchronize)是 Liunx/Unix 下的一个远程数据同步工具。它可通过 LAN/WAN 快速同步多台主机间的文件和目录,并适当利用 rsync 算法(差分编码)以减少数据的传输。rsync 算法并不是每一次都整份传输,而是只传输两个文件的不同部分,因此其传输速度相当快。除此之外,rsync 可拷贝、显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。

    2、rsync优点

    rsync有以下几个优点:

    可以镜像保存整个目录树和文件系统。

    可以很容易做到保持原来文件的权限、时间、软硬连接等。

    无需特殊权限即可安装。

    拥有优化的流程和比较高的文件传输效率。

    可以使用shell(rsh、ssh)方式来传输文件。

    支持匿名运行。

    与 scp 相比,rsync 传输速度绝对远远超过 scp 的传输速度。

    我们在局域网中经常用 rsync 和 scp 传输大量 mysql 数据库文件,发现 rsync 传输文件速度至少要比 scp 快 20 倍以上。

    所以如果需要在 Liunx/Unix 服务器之间互传海量数据时,建议选择 rsync 进行传输。

    3、运行模式(服务器)

    rsync 有两种常用的认证方式,一种是 rsync-daemon 方式,另外一种是 ssh 方式(类似于 scp)。在平时使用过程,我们使用最多的是 rsync-daemon 方式。

    这种模式是基于 C/S 模式的,在这种模式下,rsync 在后台启用了一个守护进程,这个守护进程在 rsync 服务器永久运行,用于接收请求传输文件,因此,客户端既可以把文件推送( push )给守护进程,也可以向守护进程拉取( pull )文件。rsync 的服务器模式非常适合为异地的中心备份服务器或数据异地存储库来使用。

    案例介绍:

    我们使用 pull 模式,我们有多个应用的服务器作为服务端,备份服务器作为客户端,备份服务器向每个应用服务器拉取需要备份的数据,放到相应的目录下面。

    4、安装配置 rsync

    1>安装 rsync

    为了简便,我们这里直接使用 yum 进行安装即可。

    yum install rsync -y

    2>配置 rsync 服务端(应用服务器)

    我们有一台云盘的服务器,IP为 10.0.2.15,我们在这台服务器上面进行服务端的配置,我们需要备份的路径为 /data/nextcloud,首先进行配置文件的设定,配置的详细解释在文中最后有介绍,我们设置的如下:

  # cat /etc/rsyncd.conf

  uid = root

  gid = root

  use chroot = yes

  max connections = 10

  pid file = /var/run/rsyncd.pid

  log file = /var/log/rsync.log

  transfer logging = yes

  timeout = 900

  ignore nonreadable = yes

  dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

  [nextcloud]

  path = /data/nextcloud

  comment = pan.wzlinux.com

  read only = yes

  write only = no

  hosts allow = 10.0.2.30

  list = no

  ignore errors

  auth users = backup

  secrets file = /etc/rsyncd.pass 

  增加密码认证文件:

  # cat /etc/rsyncd.pass

  backup:123456     #具有拉取数据的账号密码

  chmod 600 /etc/rsyncd.pass

    启动服务器:

    systemctl start rsyncd.service

    3>配置 rsync 客户端(备份服务器)

    配置密码认证文件,这里只需配置密码即可,账号我们会在命令里面指定:

    4>进行数据拉取测试

    我们在备份服务器上面同样安装 rsync,然后进行如下指令进行数据拉取:

    rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.pass backup@10.0.2.15::nextcloud /data/10.0.2.15/nextcloud

  v是“--verbose”显示详细输出模式

  z是“--compress”压缩模式

  r是“--recursive”以子目录递归模式

  t是“--times“用来保持文件信息时间

  o是”--owner“用来保持文件的属主信息

  p是”--perms“用来保持文件权限

  g是”--group“用来保持文件的属组

  --progress:用来显示数据镜像同步的过程

  --delete:指定以rsync服务器为基准进行数据镜像同步,也就是要保持rsync服务器端目录与客户端目录的完全一致

  --exclude:用于排除不需要文件传输的类型

  /date/10.0.2.15/nextcloud:用户指定备份文件在客户端机器上的存放路径

 5>客户端添加定时任务

  # crontab -l

  # 10.0.2.15 backup

  00 01 * * * root /usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.pass backup@10.0.2.15::nextcloud /data/10.0.2.15/nextcloud

  6>启动方法

  systemctl start rsyncd.service

  systemctl enable rsyncd.service

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/8375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「网络流 24 题」太空飞行计划 【最大权值闭合图】

「网络流 24 题」太空飞行计划 题意 有 n n n 个实验 和 m m m 个器械,每个实验都需要若干个指定的器械才能进行 实验 i i i 的盈利为 p i p_i pi​, 器械 j j j 的花销为 c j c_j cj​ 找出纯利润最大的实验计划 思路 这是非常典型的最大权值…

如何定时关闭程序

首先,需要用到的这个工具: 度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z 前面的流程步骤参考这条攻略: 快捷自由定时重启、注销、关机 只不过最后的地方,选择 关闭程序 ,再填写程序名称即可 补…

2024-03-23青少年软件编程(Python语言)等考(四级)解析

2024-03-23青少年软件编程(Python语言)等考(四级)解析一、单选题(共25题,共50分) 1.运行如下代码,若输入整数3,则最终输出的结果为?( C ) def f(x):if x==1:s=1else:s=f(x-1)*xreturn s n=int(input("请输入一个大于1的整数:")) print(f(n)+f(n-1)) A.2…

全栈开发之路——前端篇(5)组件间通讯和接口等知识补充

全栈开发一条龙——前端篇 第一篇:框架确定、ide设置与项目创建 第二篇:介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇:setup语法,设置响应式数据。 第四篇:数据绑定、计算属性和watch监视 辅助文档&…

Linux中的软连接和硬链接

一、软和硬链接连接 在Linux系统中,软连接(符号链接)和硬链接是文件系统中两种不同类型的链接,它们用于创建对文件的引用。下面详细解释这两种链接的特点和区别:、 软连接(符号链接) 定义&…

项目中遇到的问题

web项目中请求线程到service层的时候远程调用服务之前是串行化执行每个任务都要get阻塞等待任务完成,举例当用户在购物车页面点击去结算就会请求后台toTrade请求获取订单确认的详情数据并渲染到订单详情页,现在在toTrade请求中使用异步任务编排Completab…

鸿蒙应用开发系列 EX篇:HarmonyOS应用开发者基础认证

文章目录 系列文章背景认证考试题库参考注意:题库会不定时的进行具备调整甚至整体轮换,此为2024.5月版本注意:题库中题目的选项每次都会随机顺序,请参考内容判断题单选题多选题系列文章 鸿蒙应用开发系列 篇一:鸿蒙系统概述 鸿蒙应用开发系列 篇二:鸿蒙系统开发工具与环…

Windows运维_Win10自带图片查看器不见了在哪里打开

Windows运维_Win10自带图片查看器不见了在哪里打开 Windows 10 系统自带的图片查看器可以帮助我们快速查看电脑的图片,十分方便。 但是有不少用户发现自己 Win10 系统自带的图片查看器功能不见了,导致图片只能在画图或者其他工具里打开,极其…

西红柿叶病害检测(yolov8模型,从图像、视频和摄像头三种路径识别检测,包含登陆页面、注册页面和检测页面)

1.基于最新的YOLOv8训练的西红柿病害检测模型,和基于PyQt5制作的可视西红柿病害系统,包含登陆页面、注册页面和检测页面,该系统可自动检Bacterial Spot, Early_Blight, Healthy, Late_blight, Leaf Mold, Target_Spot, black spot&#xff0c…

电商风口的最后一班快车?有些人甚至正在All in视频号!

我是王路飞。 当抖音、快手、淘宝上的商家还在内卷的时候,有些人却转移了阵地,搭上了电商风口的“最后一般列车”,甚至正在All in 视频号。 内容来源于【醒醒团队-电商王路飞】 随着“微视”想要三分天下野心的失败(与抖音、快手…

SD-WAN:企业低成本与高性能组网的理想选择

在竞争日益激烈的市场中,企业要立足就需要一种既能控制成本又能保证卓越性能的网络解决方案。尽管传统组网方式稳定可靠,但其高昂的硬件投入和升级成本让许多企业望而却步,而SD-WAN为企业提供了一个理想的解决方案。 成本效益:精打…

[Kubernetes] KubeKey 部署 K8s v1.28.8

文章目录 1.K8s 部署方式2.操作系统基础配置3.安装部署 K8s4.验证 K8s 集群5.部署测试资源 1.K8s 部署方式 kubeadm: kubekey, sealos, kubespray二进制: kubeaszrancher 2.操作系统基础配置 主机名内网IP外网IPmaster192.168.66.2139.198.9.7node1192.168.66.3139.198.40.17…

创建一个线程对象需要花费多少内存空间

创建一个std::thread对象所需的内存空间大小并不是固定的,因为它取决于多种因素,包括C运行时库的实现、编译器优化、以及可能的平台和架构差异。 std::thread对象本身是一个轻量级的控制块,它主要用于管理线程的执行,包括保存线程…

<iomanip>库中setw(),setfill()等函数的使用

#include <iomanip> #include<iomanip>是C标准库中的一个头文件&#xff0c;提供了用于输入/输出格式控制的函数和类。它特别适用于调整输出的对齐、填充、精度等格式。 setw() stew&#xff0c;这是一个用于操纵输出格式的函数&#xff0c;用于美化C程序的输出…

FreeBSD进入单用户模式拯救崩溃的系统

在FreeBSD系统里总归会遇到手残把系统弄崩的情况&#xff0c;即默认的多用户模式进不去或系统压根就启动到一半办错&#xff0c;或者进入调试模式&#xff0c;这时候可以进单用户模式拯救系统&#xff0c;一般都能救回来。 FreeBSD系统启动后进入单用户模式&#xff0c;先执行 …

华为试题之删除最少字符

题目描述 删除字符串中出现次数最少的字符 如果多个字符出现次数一样则都删除 输入描述 输入只包含小写字母 输出描述 输出删除后剩余的字符 若删除后字符串长度为0&#xff0c;则输出empty 我的思路是将字符串中的字符对应的数量和key统计后放到对应的字典中&#xff0c; 对字…

独家专访辉羲智能章健勇:数据闭环定义芯片,帮车厂造中国版FSD

‍采访、编辑 |德新 撰文 |苗岭 辉羲智能&#xff0c;智能驾驶芯片行业最新的进入者。 这家公司成立于2022年&#xff0c;今年辉羲即将发布它的首款高阶智驾芯片。而另外两家智驾计算平台的头部公司地平线和黑芝麻已经在前不久分别向港交所提交了IPO申请。 国内的自动驾驶行…

【问题记录】Windows命令行中执行.exe文件路径有空格的解决方法

Windows命令行中执行.exe文件路径有空格的解决方法 一&#xff0c;问题现象&#xff1a;二&#xff0c;问题原因三&#xff0c;解决方法 一&#xff0c;问题现象&#xff1a; 在Windows命令行中执行路径中带空格的.exe文件&#xff1a; 会报错&#xff1a; 二&#xff0c;问…

数据库系统理论——关系数据库

文章目录 一、关系&#xff08;数据结构&#xff09;1、概述2、名词解释3、关系模式、关系数据库、关系数据库模式4、基本关系的性质 二、关系操作&#xff08;数据操作&#xff09;三、关系的完整性1、实体完整性2 、参照完整性3、用户自定义的完整性 四、关系代数五、习题 前…