linux-docker备份数据库

news2024/11/23 11:34:47

利用计划任务和批处理从docker容器中备份数据库文件到宿主机指定目录

如何创建定时任务

创建计划任务(定时任务):

crontab -e

打开后是VI编辑器,将自己计划任务的内容写到里边然后wq(保存并退出)就行了
查看计划任务:

crontab -l

查看以及存在的计划任务

可能遇到的问题

  • bash: crontab: command not found
    这个问题主要是因为 crond 服务没有启动
    启动crond服务
    	service crond start
    
  • 启动crond提示没有找到服务
    安装 crond服务即可
    	yum -y install crontabs
    
    安装成功
    在这里插入图片描述

数据库备份脚本

容器内操作 :

  • 备份文件路径:/home/database_bak/

  • 计划任务内容(每天晚上10点执行):
    容器内也可不用加定时任务,直接从宿主机调用容器内的脚本

  •   0 10 * * * /home/database_bak/bak_database.sh
    
  • 脚本bak_database.sh内容:

    # 备份数据库文件
    mysqldump -u*** -p*** boo_db -t > /home/database_bak/$(date  +%Y%m%d)_boo_db.sql
    # 清理5天前的备份文件,防止过度占用内存
    rm -rf /home/database_bak/$(date -d "5 day ago" +%Y%m%d)_boo_db.sql
    

宿主机操作:

  • 备份文件路径:/thinker/storage/data_base_bak
  • 计划任务(每天晚上11点执行):
    0 11 * * * /thinker/storage/data_base_bak/bak_database.sh
    
    • 调用容器内部脚本示例
      	docker exec -it [容器ID或名称] /bin/bash -c "sh /home/database_bak/bak_database.sh"
      
  • 脚本bak_database.sh内容:
    # 从容器中复制出备份过的数据库文件
    docker cp 57e5270897f0:/home/database_bak/$(date  +%Y%m%d)_boo_db.sql /thinker/storage/data_base_bak/
    # 清除历史备份文件  清除5天前的备份文件
    rm -rf /thinker/storage/data_base_bak/$(date -d "5 day ago" +%Y%m%d)_boo_db.sql
    

优化

  • 防止误清历史数据,也可以对历史文件做个判断
    例如下面示例:当2天前的备份文件存在 且 文件大小大于1M,才执行清理3天前的文件
if [ -f /www/backup/database/$(date -d "2 day ago" +%Y%m%d)_covid.sql ] && [ $(stat -c %s /www/backup/database/$(date -d "2 day ago" +%Y%m%d)_covid.sql) -gt 1048576 ]; then  
	echo "File exists and is larger than 1MB"  
	rm -rf /www/backup/database/$(date -d "3 day ago" +%Y%m%d)_covid.sql
else  
	echo "File does not exist or is smaller than 1MB"  
fi

问题

  • crontab定时任务不执行的原因
    1.crond服务未启动
    2.时区不对
    3. 排查日志,我的日志文件是 /var/log/cron
    从日志可以看出定时执行了,但是报错 了…
    在这里插入图片描述

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

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

相关文章

当涉及到嵌入式开发时

以下是一些建议和关键要点,可以帮助您进行有效的开发: 硬件选择:根据项目需求选择合适的硬件平台和组件,包括处理器、存储器、传感器和通信接口等。考虑功耗、性能、可靠性和成本等因素。 软件开发环境:选择适合嵌入式…

3.1 增加多进程执行playwright

增加了多进程的方式执行测试代码,对代码改动比较大 1、case case目录依然是自动生成 2、config dir_collection.py新增了配置 mkdir_collections [case,log,img, ] del_collections [results,report ] del_regex temp3、data/img/log/resource/video data/im…

Linux内核4.14版本——drm框架分析(6)——实例注册drm device/ encoder/crtc/plane/connector等

目录 1. 简介 2. drm device的注册 3. fops 根据前面几篇文档的介绍,我们知道了drm的整体的构成,后面的文章我们从实际的一个例子中进行分析。 1. 简介 kernel版本:4.14 gpu:ARM Mali DP650 hdmi:dw hdmi 涉及的…

[已解决]无法在Windows 11中扩展C盘

如果你的台式电脑或笔记本电脑刚刚升级到Windows 11,如果你没有足够的硬盘空间来保存新文件和软件,那你可能会收到磁盘空间不足的警告。在这种情况下,你可能需要扩展分区来解决这个问题。 虽然Windows系统自带了“磁盘管理”工具&a…

10分钟了解Kubernetes网络

Kubernetes是现代容器化应用不可或缺的强大、可靠的基础平台。本文将介绍Kubernetes中与网络相关的组件,正是这些组件支撑Kubernetes成为云原生应用的首选基础设施。原文: Networking in Kubernetes 网络是Kubernetes中非常值得理解的重要主题,它帮助Kub…

【熬夜送书 | 第四期】python期末考试总结

文章目录 前言单选题程序填空题函数题编程题熬夜送书 第三期 前言 博主也是第一次接触到python语言,在考试前过了一遍python语法,因为有Java基础学习起来相对比较轻松,学校考的题相对简单一些,也是PTA上机考试,大概30…

字节测开岗面试记:二面被血虐,幸好还是拿到了Offer.....

在互联网做了几年之后,去大厂“镀镀金”是大部分人的首选。大厂不仅待遇高、福利好,更重要的是,它是对你专业能力的背书,大厂工作背景多少会给你的简历增加几分竞争力。 但说实话,想进大厂还真没那么容易。最近面试字…

让CSS布局呈现您的个性:学习常见布局方式

本文介绍常用的css布局&#xff1a; 三栏布局两列自适应布局元素居中 盒模型简介&#xff1a; 三栏布局 中间列自适应宽度&#xff0c;两边宽度固定 1. 圣杯布局 <!DOCTYPE html> <html> <head> <style> /* This is a single-line comment */.con…

迅为RK3588开发板-基于瑞芯微RK3588摄像头方案

硬件&#xff1a; RK3588开发板摄像头 MIPI摄像头&#xff1a; 1.1 硬件连接 RK3588 底板上有四个摄像头接口&#xff0c;如下图所示&#xff0c;此四个接口均可连接摄像头 ov5695 和 摄像头 ov13850。 摄像头模块连接硬件时要将模块对准插槽缺口处&#xff0c;J1 接口连接摄…

ipad手写笔哪款好?最好用的电容笔

近几年&#xff0c;电容笔逐渐成为人们日常生活中最重要的数码产品之一&#xff0c;不管是书写、绘画或者是玩游戏&#xff0c;使用iPad的地方就都能看到电容笔的身影。那么&#xff0c;哪个品牌的电容笔质量比较好&#xff1f;下面&#xff0c;我来给大家推荐四款好用的电容笔…

node+uniapp+socket简易聊天

目录 一、技术简介 1.1、客户端 1.2、服务器 二、代码分析 2.1、前端连接后端 2.2、前端发送&#xff0c;后端接收并广播回去 三、效果展示 四、升级版 一、技术简介 1.1、客户端 uni-app项目自行创建、weapp.socket.io这个需要后端下载cnpm i weapp.socket.io&…

1.2C++运算符重载

C运算符重载 C运算符重载是指对已有的C运算符进行重新定义&#xff0c;使其能够适用于用户自定义的数据类型。通过运算符重载&#xff0c;我们可以使用C运算符对自定义的数据类型进行操作&#xff0c;使得程序更加简洁、易读、易维护。 C支持对大部分运算符进行重载&#xff…

CleanMyMac X2023电脑深度清理软件

在使用mac时&#xff0c;小编遇到了运行内存不足、硬盘空间不足的情况。遇到这种情况&#xff0c;我们可以借助经典的电脑深度清理软件——CleanMyMac X&#xff0c;清理不常用的软件和系统垃圾&#xff01; 作为一款专业的mac电脑系统管家&#xff0c;CleanMymac X一直致力于…

韧性数据安全体系的原则和组成|CEO专栏

“韧性”数据安全体系&#xff0c;是美创科技在数据安全的最新探索。 特设专栏“构建适应性进化的韧性数据安全体系”中&#xff0c;首期文章&#xff08;点击此处跳转&#xff09;&#xff0c;我们重点介绍了韧性数据安全体系的三个目标&#xff1a;韧性和弹性、适应性进化、复…

【基于Rsync实现Linux To Windows文件同步】

基于Rsync实现Linux To Windows文件同步 简介安装步骤安装Linux服务器端1.安装rsync2.启动Rsync3.验证是否启动成功4.修改rsyncd.conf重启rsync服务 安装Windows客户端1.rsync客户端安装&#xff1a;2.配置环境变量3.测试rsync命令4.创建密码文件5.密码文件授权6.查看服务端需要…

【jupyter notebook】‘jupyter‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

目录 0.问题背景环境介绍 1.解决步骤 2.测试步骤 0.问题背景环境介绍 1&#xff09;环境&#xff1a;windows64 2&#xff09;问题背景&#xff1a;在搭建jupyter notebook的过程中&#xff0c;想用windows的任务管理器启动jupyter notebook或者使用【jupyter notebook --…

赋能生态合作 共话数字创新 | 2023开放原子全球开源峰会软硬协同开源分论坛即将启幕

随着信息技术的迅猛发展&#xff0c;当下智能应用场景日益复杂、数据量爆发式增长、数据形式也多种多样&#xff0c;作为跨越无数创新领域的驱动者&#xff0c;理应打造更高质量的生态系统和开源生态&#xff0c;提供丰富的软件产品和服务&#xff0c;打造软件和硬件协同开源的…

地理空间数据云管理-四维轻云1.3.2-版本更新内容

很多用户想要在不上传数据的情况下查看案例数据&#xff0c;我们在四维轻云1.3.2版本中为新用户新增了示例项目。此外&#xff0c;此次更新还新增了标绘数据模式和场景定时保存提醒功能&#xff0c;优化了插件启动流程以及移动和旋转变化轴。 1、新增示例项目 示例项目中包含…

idea里边创建类的时候和方法自动生成注释

idea里边创建类的时候和方法自动生成注释 我们经常写代码的时候需要在类上编写注释&#xff0c;标明这个类是谁写的有什么作用&#xff0c;其实每次写都会发现有很多相同的字段&#xff0c;比如作者&#xff0c;创建时间&#xff0c;类名等&#xff0c;有的时候方法上也要标明…

bug:wx.switchTab: url 不支持 queryString

uni-app 开发小程序时 &#xff0c;bug&#xff1a;wx.switchTab: url 不支持 queryString 前言&#xff1a;在首页分类入口跳转到具体某一分类时&#xff0c;分类页是项目的底导页面&#xff0c;存在于tabbar里&#xff0c;需要使用switchTab进行跳转。参数是分类的id&#xf…