linux数据备份与恢复

目录

前言

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.mfbz.cn/a/604053.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机房——蓝桥杯十三届2022国赛大学B组真题

问题分析 这题用深搜广搜都能做,不过我更倾向于用广搜,因为广搜能更容易找到目标点。那么是采用结构体存储边还是采用二维数组存储临接矩阵呢?我们注意到n的取值范围为1e5,用二维数组哪怕是bool类型就需要至少1e10Byte的连续空间,这个空间太大…

为软件教学文档增加实践能力

为了更方便软件教学,我们在凌鲨(OpenLinkSaas)上增加了公共资源引用的功能。 目前可以被引用的公共资源: 微应用常用软件公共知识库Docker模板 引用公共资源 引用微应用 目前微应用包含了主流数据库,终端等工具,可以方便的进行各种相关实…

【25届秋招备战C++】23种设计模式

【25届秋招备战C】23种设计模式 一、简介程序员的两种思维8大设计原则 二、具体23种设计模式2.1 创建型模式2.2 结构性模式2.3 行为型模式 三、常考模式的实现四、参考 一、简介 从面向对象谈起, 程序员的两种思维 底层思维:向下 封装:隐藏内部实现 多…

ASP.NET小型证券术语解释及翻译系统的设计与开发

摘 要 在系统设计上,综合各种翻译类型网站优缺点,设计出具有任何使用者都可添加术语信息的且只有管理员能够实现术语修改及删除等独特方式的术语查看管理系统。此方式能够使术语量快速增大,并且便于使用者及管理员操作,满足相互…

软件设计师-应用技术-面向对象程序设计题5

考题形式: 代码填空,5 - 6空,每空3分。 基础知识及技巧: 1. 类的定义: 2. 接口的定义: 给实现类具体代码,填写接口中方法。 3. 类、抽象类、继承类、抽象方法的定义: 抽象类&…

【管理咨询宝藏95】SRM采购平台建设内部培训方案

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏95】SRM采购平台建设内部培训方案 【格式】PDF版本 【关键词】SRM采购、制造型企业转型、数字化转型 【核心观点】 - 重点是建设一个适应战略采…

20240508请问GTX2080TI的300和300A核心的差异?

20240508请问GTX2080TI的300和300A核心的差异? 在拼多多/淘宝上,GTX2080TI的300A核心的会比300核心的贵100¥左右。 但是怎么区分呢? 300a核心和300请问怎么区分呢?[嘻嘻] devicr ID diviceid 1e07是300a 1e04是300 Gp…

2024041702-计算机操作系统 - 死锁

计算机操作系统 - 死锁 计算机操作系统 - 死锁 必要条件处理方法鸵鸟策略死锁检测与死锁恢复 1. 每种类型一个资源的死锁检测2. 每种类型多个资源的死锁检测3. 死锁恢复 死锁预防 1. 破坏互斥条件2. 破坏占有和等待条件3. 破坏不可抢占条件4. 破坏环路等待 死锁避免 1. 安全状态…

使用 Parallels Desktop 在 Mac 上畅玩 PC 游戏

我们不再需要接受 “Mac 不是为游戏而打造” 这一事实;Parallels Desktop 通过将电脑变成高性能的游戏设备,从而改变了一切。 Parallels Desktop 充分利用 Mac 硬件的强大功能,让您无缝畅玩 Windows 专享游戏。 性能得到提升,可玩…

基于 llama2 的提示词工程案例2

优化大型语言模型(LLMs) 优化大型语言模型(LLMs)中的提示词(prompts)是提高模型性能和输出相关性的重要手段。以下是一些优化提示词的方向: 明确性:确保提示词清晰明确,…

数据湖与数据网格:引领组织数据策略的未来

十多年来,组织已经采用数据湖来克服数据仓库的技术限制,并发展成为更加以数据为中心的实体。虽然许多组织已经使用数据湖来探索新的数据用例并改进其数据驱动的方法,但其他组织发现所承诺的好处很难实现。因此,许多数据湖计划的有…

SOLIDWORKS Electrical电气元件智能开孔

实际的电气元器件安装中,一些元器件需要穿过孔洞安装,例如按钮、指示灯会在配电柜的控制面板上,需要穿过控制面板安装。这部分内容放在软件建模、装配时,往往比较复杂因为考虑孔的大小符合元器件规格、孔跟随元器件移动、同一元器…

CR80清洁卡的重要性

在我们日常生活中,身份证、银行卡、信用卡等塑料卡片已经成为了不可或缺的一部分。这些卡片通常符合CR80标准,这意味着它们的尺寸和厚度符合国际标准,为了保证这些卡片的读取和使用效果,清洁维护显得尤为重要。 什么是CR80卡&…

Linux学习之禁用防火墙

查看防火墙状态 systemctl status firewalld.service 第一行前面的圆圈是有颜色的就是开启状态 黑色的就是关闭状态 关闭防火墙 systemctl stop firewalld.service 输入密码认证 再次查看防火墙状态 systemctl status firewalld.service 第一行前面的圆圈变成黑色说明关闭…

杰理-701-单线灯-ws2812-驱动

杰理-701-单线灯-ws2812-驱动 LED_gradual_open(); //调用后 呼吸灯 set_led_colour(R,G,B);//具体颜色 spi_dma_set_addr_for_isr //spi 配置dma 后灯才亮 #define LED_H 0x7c #define LED_L 0x40 发送高位和地位的字节,具体…

UP互助 帮助UP起号做视频 支持B站和抖音

【软件名字】:UP互助 【软件版本】:1.0 【软件大小】:17.5MB 【软件平台】:安卓 【测试机型】:小米9 1.随便登个邮箱,添加自己平台的频道,然后就可以帮助别人,添加频道后在添加…

仓库管理系统需求调研要点

仓库管理系统需求调研 一、仓库的作用 仓库分类 原材料仓库:用于存放生产所需的原材料和零部件,需要保持原材料的质量和数量稳定。半成品仓库:存放生产过程中的半成品和在制品,需要保持良好的生产流程和及时出库。成品仓库&#x…

【Arduino IDE 2】Windows平台安装ESP8266 NodeMCU LittleFS Uploader(文件上传插件)

在Arduino IDE 2(2.2.1或更高版本)上,如何安装基于ESP8266 NodeMCU的LittleFS文件系统上传插件,以及如何将文件上传到ESP8266 NodeMCU板文件系统。 一、LittleFS简介 LittleFS是一个为微控制器创建的轻量级文件系统,可…

智慧校园能解决什么问题?

智慧校园是学校信息化建设的基础载体,他将校园工作的各个业务模块融合,形成一个有机的整体。同时智慧校园又一种先进的教育管理模式,它利用信息技术如物联网、大数据、云计算、人工智能等,来提升教育质量和管理效率。 同时&#…

RabbitMQ(Docker 单机部署)

序言 本文给大家介绍如何使用 Docker 单机部署 RabbitMQ 并与 SpringBoot 整合使用。 一、部署流程 拉取镜像 docker pull rabbitmq:3-management镜像拉取成功之后使用下面命令启动 rabbitmq 容器 docker run \# 指定用户名-e RABBITMQ_DEFAULT_USERusername \# 指定密码-e R…
最新文章