linux数据备份与恢复

news2025/1/11 14:19:40

目录

前言

1、数据备份和恢复中的两个关键性指标

2、linux系统的定时任务

1)本地定时任务crontab

在实验测试过程中,遇到多次crontab任务不执行问题 ,总结下来主要有几个方面原因:

2)分布式定时任务系统Jenkins

3、备份存储位置的选择

1)本地

2)远程

3)离线*

4、数据备份

1)文件备份

2)数据库的备份(周期性测试备份结果的有效性)


前言

只要发生数据传输,数据存储,和数据交换,就有可能发生数据故障。,如果没有数据备份和数据恢复措施,就有可能发生数据丢失。

1、数据备份和恢复中的两个关键性指标

指标概念解释
恢复时间目标(RTO)表示业务从中断到恢复正常所需要的最短时间。通常通过建设冗余的灾备系统可以有效减少恢复所用时间,但是这种方式可能会极大增加支出成本。另外一种方法是依赖与 数据备份来进行业务恢复。这种方式在数据量较大或者是业务关联较复杂的情况喜爱,花费的恢复时间可能会比较长。
恢复点目标(RPO)表示业务系统所能承受的最大数据丢失量。

2、linux系统的定时任务

1)本地定时任务crontab

crond在下面位置来搜索定时任务

目录作用
/var/spool/cron存放每个用户包括root的定时任务,每个任务以创建者的名字命令。一般一个用户最多只有一个定时任务。
/etc/crontab这个文件负责安排由系统管理员制定的维护系统以及其他任务
/etc/cron.d这个目录用来存系统要执行的定时任务文件或者脚本
/etc/cron.hourly这个目录用来存放每个小时执行的定时任务
/etc/cron.daily这个目录用来存放每天执行的定时任务
/etc/cron.weekly这个目录用来存放每周执行的定时任务
/etc/cron.monthly这个目录用来存放每月执行的定时任务

在实验测试过程中,遇到多次crontab任务不执行问题 ,总结下来主要有几个方面原因:

1、crond服务未运行

2、环境变量PATH不完全导致命令找不到。默认情况下,Crond给与的定时任务的PATH环境变量为/usr/bin:/bin  ,所以如果定时命令或者脚本中调用的使用程序没有在这个路径下的话会无法调用到。因此,需要在定时任务脚本中把PATH环境变量做控制或者使用绝对路径。

PATH=/usr/local/sbin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin
这个PATH环境变量的值,当操作系统在执行命令时应该查找的目录路径。放在脚本中,执行命令时,操作系统会在这些路径中查找该命令的可执行文件。如果路径中没有指定命令,就会返回命令不存在的错误信息。

3、权限问题。比如,脚本没有执行权限。可能定时用户所属的用户对某个目录没有读写权限,也会失败。

另外:

定时任务的日志位于/var/log/cron。在使用定时任务执行备份作业的过程中有异常的话,参考这个日志的输出来辅助查找定位问题。

2)分布式定时任务系统Jenkins

当需要大规模使用本地定时任务crontab的情况下,上面的方法会遇到很多问题。

将JenKin作为分布式定时任务来使用是个很好的选择。

3、备份存储位置的选择

1)本地

DAS、NAS、SAN、DFS

2)远程

使用wput进行远程备份。wput是一个像wget那样的,可移植的FTP客户端命令行工具。和wget不同是,wget用于下载文件,wput用于上传文件。



#以使用ftp用户名ftpuser,密码为admin123上传本地备份文件/opt/mybackup.zip到FTP服务器192.168.81.1为例,使用的命令如下

wput /opt/mybackup.zip ftp://frpuser:admin123@191.168.81.1/backup

3)离线*

离线存储备份一般由磁带和磁带机来组成。

在线备份和离线备份的区别对比

在线备份缺点离线备份优点
在线备份是基于网络提供服务的,可能会被入侵而导致备份丢失磁带备份技术成熟
在线备份存储系统底层所使用的硬盘等硬件资源会老化,进而导致故障率增加,进而不适合长期保存磁带容量大,成本低
用磁带对数据进行离线保存更加安全
磁带保存时间长(一般可以稳定存储10年以上),是长期数据归档及数据长期保存的理想介质

4、数据备份

1)文件备份

定期对重要系统文件和应用配置文件进行备份。可以使用tar来打包和压缩备份。

文件备份脚本:

#! /bin/bash
#这是一个文件备份脚本

#在备份脚本中定义行的PATH环境变量,以避免出现crontab中找不到命令的情况
PATH=/usr/local/sbin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin

backup_work_dir='/app/backup'
cd $backup_work_dir
#将脚本中的标准输入和标准输出错误输出到文件中,以便在文件中查看脚本的输出和错误信息
echo "------------------------------START---------------------------------"
date "+%Y-%m-%d %H:%M:%S"44444444444
#备份root用户的定时任务
crontab -l -u root > root.cron.txt 
#备份ami用户的定时任务
crontab -l -u ami > ami.cron.txt

#备份当前的进程列表
ps aux > ps.txt 
dt=$(date +%Y-%m-%d)
ipaddr=$(grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth* | awk -F"=" '{ print $2 }')
filetargz="backup_${ipaddr}_${dt}.tar.gz"
tar --exclude='log/' --exclude='logs/' --exclude='log.' --exclude='.log' -czf ${filetargz} openapi.cron.txt root.cron.txt ps.txt /etc/supervisord.conf /usr/local/apache/conf /app/www/app/scripts /usr/local/sphinx/etc /usr/local/sphinx/scripts
/usr/local/bin/wput ${filetargz} ftp://backup:w3eL4tVHaM@10.128.79.40/ #使用 wput上传备份后的文件到10.128.79.40这个FTP服务器上

find ${backup_work_dir} -type f -name 'backup_*.tar.gz' -mtime +30 -exec rm {} \; #删除本地30天以上的备份文件,以避免磁盘空间满的问题
echo "----------------------------END------------------------------------"



 

2)数据库的备份(周期性测试备份结果的有效性)

mysql数据备份工具描述
mysqldump

mysql自带工具,目录在bin目录下面

/usr/local/mysql/bin/mysqldump支持基于innodb的热备份,但是由于是逻辑备份,速度不是很快,适合备份比较小的场景。mysqldump+二进制日志可以实现基于焊点回复

基于LVM快照备份在物理备份中,有基于文件系统的物理备份(LNM快照)
tar包支持完全备份和增量备份,而且备份速度非常快

传送门:数据库的备份和恢复-CSDN博客

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

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

相关文章

TinyEngine 低代码引擎区块局域网部署方案全新上线!

本文由体验技术团队 TinyEngine 项目组成员创作~ 在 TinyEngine 开源后,对私有化部署存在诉求的用户越来越多,而当前 TinyEngine 多项内容都依托在公网中,当前官网提供的区块发布方案,为公网环境下的发布,不能完全满足…

信创基础软件之数据库

一、数据库概述 数据库是一种用于存储和管理拥有固定格式和结构数据的仓库型数据管理系统。其主要用于业务数据的存储和业务逻辑运算,具体负责保障数据的安全性、完整性、多用户对数据的并发使用以及发生故障后的系统恢复。 二、数据库的体系架构 数据库内核:对数…

C语言 函数的嵌套与递归 调用

本文 我们来说函数的嵌套调用和递归调用 在很多大型项目中 我们肯定不可能将所有逻辑都写在一个函数中 肯定要按功能拆解成多个特定的功能函数 函数并不允许嵌套调用,但是 允许在逻辑代码中嵌套调用 所谓函数嵌套调用 就是在一个函数中调用另一个函数,而…

VS编辑器下使用MFC完成研究生管理系统设计

背景: (一)实验目的 通过该实验,使学生掌握windows程序设计的基本方法。掌握学籍管理的基本内容,熟练应用数据库技术和通用组件,实现研究生信息的增、删、改、查功能。通过处理过程对计算机软件系统工作原…

【Linux进程间通信(六)】深入理解 System V IPC

(一)引入 (二)IPC 命名空间 (三)ipc_ips结构体 (四)ipc_id_ary结构体 (五)kern_ipc_perm结构体 (六)操作系统对IPC资源是如何管理…

mybatis:Spring junit 测试报错:Failed to load ApplicationContext

Spring junit 测试报错:Failed to load ApplicationContext 解决方法,修改mybatis版本,版本过高导致无法加载依赖

NVIDIA Omniverse Cloud API支持数字孪生开发,可解决复杂AI问题 | 最新快讯

在全球范围内,价值超过 50 万亿美元的重工业市场,正在竞相实现数字化。 基于此,为帮助数字孪生技术更好地赋能千行百业,AI 企业 NVIDIA 在架构底层算力的同时,也搭建了 NVIDIA AI Enterprise 和 Omniverse 两大平台。 …

PDF转word转ppt软件

下载地址:PDF转word转ppt软件.zip 平时工作生活经常要用到PDF转word转ppt软件,电脑自带的又要开会员啥的很麻烦,现在分享这款软件直接激活就可以免费使用了,超级好用,喜欢的可以下载

【不使用深度学习框架】多层感知机实现手写Minist数据集识别

手写Minist识别是一个非常经典的问题,其数据集共有70000张28*28像素的图片,其中60000张作为训练集,剩下的10000张作为测试集,每一张图片都表示了一个手写数字,经过了灰度处理。 本文延续前面文章提到的多层感知机&…

五一 Llama 3 超级课堂 大完结

首先很感谢上海人工智能实验室和机智流等相关举办单位组织的这个活动,在Llama3发布不多时就让我们可以体验到大模型的进步,回顾整个活动,从内容上看是相当用心的。从A100的提供使用到大模型部署,微调,Agent功能应用和数…

网贷大数据查询要怎么保证准确性?

相信现在不少人都听说过什么是网贷大数据,但还有很多人都会将它跟征信混为一谈,其实两者有本质上的区别,那网贷大数据查询要怎么保证准确性呢?本文将为大家总结几点,感兴趣的朋友不妨去看看。 想要保证网贷大数据查询的准确度&am…

Mamba结构的Demo源码解读

文章目录 前言一、mamba结构构建辅助函数解读1、dataclass方法解读2、Norm归一化LayerNormRMSNormRMSNorm源码 3、nn.Parameter方法解读 二、mamba原理二、mamba模型构建1、主函数入口源码解读2、Mamba类源码解读 三、ResidualBlock的mamba结构源码解读四、MambaBlock构成Resid…

【四、性能测试】性能测试基础与几个重要的概念

你好,我是山茶,一个95后在职程序员。也是一个目标跟 1000 程序员探索出 AI 测试 副业之路的 bro,欢迎跟我一起沟通交流! 一、什么是性能测试? 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来…

Clion STM32CubeMX 项目

系列文章目录 前言 最后修改 2024 年 4 月 16 日 操作系统:Windows / Linux / macOS 所需工具 STM32CubeMX、GNU ARM 工具链 项目格式: CMake 兼容配置: OpenOCD 运行与调试/嵌入式 GDB 服务器 对于以 STM32 板卡为目标的嵌入式项目&#xf…

渗透之sql盲注(时间/boolean盲注)

sql盲注:sql盲注意思是我们并不能在web页面中看到具体的信息,我们只能通过输入的语句的真假来判断。从而拿到我们想要的信息。 我们通常使用ascii值来进行盲注。 目录 手动注入: 时间盲注: 布尔盲注: python脚本注…

gitlab集群高可用架构拆分部署

目录 前言 负载均衡器准备 外部负载均衡器 内部负载均衡器 (可选)Consul服务 Postgresql拆分 1.准备postgresql集群 手动安装postgresql插件 2./etc/gitlab/gitlab.rb配置 3.生效配置文件 Redis拆分 1./etc/gitlab/gitlab.rb配置 2.生效配置文件 Gitaly拆分 1.…

C# 和 Qt 相比的一些优势

C# 和 Qt 都是流行的软件开发工具,它们各自具有不同的优势,适用于不同的开发场景。以下是 C# 和 Qt 相比的一些优势。相比之下,Qt 也有其独特的优势,特别是在跨平台 GUI 应用程序开发方面。然而,C# 的这些优势使得它在…

又发现一个ai生成音乐的网站-heymusic

网址 https://heymusic.ai/ 尴尬,不挂梯子能登录进来,但是谷歌账号注册不了,刷新了几遍也没注册上。 看了下价格,应该不是免费的,所以也没了试用的兴趣。 我也不想用别的邮箱注册了,所以只能简单的水一…

DenseCLIP环境配置

直接看raoyongming/DenseCLIP: [CVPR 2022] DenseCLIP: Language-Guided Dense Prediction with Context-Aware Prompting (github.com) 但这里的环境配置可能和现在不太适配,自己配了好久没弄好 后面尝试了另外的版本的(但这个版本少了一些内容&#…

【MM32F3270火龙果】点亮led

文章目录 前言GPIO的工作模式一、有哪些工作模式?1.1 GPIO的详细介绍1.2 GPIO的内部框图输入模式输出部分 二、操作GPIO点亮led2.1 初始化gpio2.2 写gpio 三、示例代码总结 前言 本文将介绍如何在MM32F3270火龙果微控制器上使用Keil开发环境点亮LED。MM32F3270火龙…