为Linux系统添加定时备份Mysql(Docker)指定数据库的方法

引言
使用Mysql的时候遇到需要定时备份数据库的问题,但苦于Mysql自身没有提供直接的工具。

安装7z的目的主要是用于对数据库备份后的文件的压缩和加密。如果不需要也可以跳过此步骤。

 yum -y install epel-release
 yum -y install p7zip p7zip-plugins

安装完成后使用以下命令测试时候安装成功

 7za -h

给出一个备份的范例

#!/bin/bash
数据库参数
backupDatabase=
password=
存放备份的目录,可以是任意位置,先创建并赋权
baseDir=/data/databack/
最终文件名,使用类似 mysql_database_20201231.sql
fileName=mysql_${backupDatabase}_date +%Y%m%d%H%M%S
备份数据库 其中mysql代表容器名称,如果没有名称可以用其他方法代替
docker exec mysql mysqldump -uroot -p${password} ${backupDatabase} > ${baseDir}${fileName}.sql

如果需要对数据库加密并删除指定天数前的备份,可以在Shell文件中追加以下命令。

必须先正确安装7z才能使用7za命令压缩文件
加密压缩 使用7zip 密码123456
7za a ${baseDir}${fileName}.7z ${baseDir}${fileName}.sql -p123456
删除刚刚备份的sql文件,留下压缩的
rm -f ${baseDir}${fileName}.sql;
删除大于90天的备份数据
find ${baseDir} -mtime +90 -name "mysql_${backupDatabase}_*.7z" -exec rm -rf {} \;

添加定时任务需要使用到Linux的crontab服务。我们可以通过下列命令来检测并安装这个服务。

检查crontab工具是否安装
crontab -l
检查crond服务是否启动
service crond status

如果未安装服务我们需要进行安装
yum install vixie-cron
yum install crontabs

再确认安装完成后我们使用命令 crontab -e 打开crontab的编辑功能,添加如下示例:

定时任务 每日0点备份
注意别忘记 sh 命令
0 0 * * * sh /root/databack/dockerMysqlBackup.sh

添加完成后可以使用命令(systemctl restart crond),重启下crond服务确保服务能正常运行。

  • 第一个* : 分钟(0–59)
  • 第二个* : 小时(0–23)
  • 第三个* : 日期(0–31)
  • 第四个* : 月份(1–12)
  • 第五个* : 星期0–7(0或者7表示星期天)
  • comand : 要执行的操作

举例:

Original: https://www.cnblogs.com/ykbb/p/15923706.html
Author: 一块白板
Title: 为Linux系统添加定时备份Mysql(Docker)指定数据库的方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/610803/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux上安装并启动tomcat

    1、下载tomcat安装包 官网链接:https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.57/bin/ 2、将tomcat上…

    Linux 2023年6月6日
    0124
  • LeetCode-443. 压缩字符串

    题目来源 题目详情 给你一个字符数组 chars ,请使用下述算法压缩: 从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 : 如果这一组长度为 1 ,则将字符追…

    Linux 2023年6月7日
    0120
  • SpringSecurity

    SpringSecurity 11.1 SpringSecurity简介 Spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 基于 Spr…

    Linux 2023年6月14日
    0101
  • Color 16 Base Code 颜色代码大全

    颜色预览表,请参考以下图片。 十六进制颜色编码字符串如下所示(前置的英语单词都是颜色) ‘aliceblue’: ‘#F0F8FF’…

    Linux 2023年6月7日
    0134
  • Android recovery支持adb shell

    Android recovery支持adb shell 近期开发过程注意到recovery不支持adb shell。为了便于调试方便,决定添加此功能。 刚開始我们採用的是user版…

    Linux 2023年5月28日
    0108
  • OSPF之Default-router-advertise 解析

    1、关于default-route-advertise命令 Ospf是可以通过import-route命令引入外部路由的,但很少有人会注意到,在默认情况下,ospf是不会引入来自外…

    Linux 2023年6月14日
    0108
  • redis client原理分析

    1:空闲连接池实现 空闲连接池存在一个双向链表中,一个连接用完后回收,就会从表头插入这个链表,当需要一个连接时也是从链表的表头取,从表头插入的时候会写入当前时间,所以链表是一个按时…

    Linux 2023年5月28日
    0105
  • Harbor私有镜像仓库登录报错 x509: cannot validate certificate for 192.168.40.132 because it doesn’t contain any IP SANs

    私有镜像仓库配置好之后,登录提示[root@harbor /data/install/harbor]# docker loginLogin with your Docker ID …

    Linux 2023年6月14日
    0131
  • Linux三种网络配置详解

    在介绍网络模式之前,使用几个关于网络的简单命令 [En] Before introducing the network mode, the use of several simpl…

    Linux 2023年5月27日
    089
  • MySQL架构和存储引擎、系统默认数据库介绍

    采用C/S架构,即客户端/服务器。客户端和服务器区分开,通过客户端发送请求来和服务器交互。 存储引擎:MySQL管理数据文件的一种技术。 myisam innodb myisam特…

    Linux 2023年6月7日
    0116
  • zabbix自定义监控(当会话登录超过三个就报警)

    安装过程在此省略。 1.agent端去修改配置文件 2.调用自定义内容 vim /etc/zabbix/zabbix_agentd.d/login.conf UserParamet…

    Linux 2023年6月6日
    095
  • SpringBoot中通过AOP整合日志文件

    1.SpringBoot中通过AOP整合日志文件 1. 导入相关的依赖 org.springframework.boot spring-boot-starter org.sprin…

    Linux 2023年6月14日
    0106
  • 个人的游戏紧张程度排行

    玩游戏是为了放松,适当的紧张刺激能让人兴奋愉悦,但如果过度紧张就会适得其反,不仅达不到放松和休息的效果,甚至还可能会损害健康。所以本人将自己常玩的网游和游戏总结了一下,按从低到高的…

    Linux 2023年6月6日
    0110
  • CVE-2020-3452漏洞复现

    一、前言 前端时间碰到了该漏洞,记录一下! 二、漏洞介绍 该漏洞为思科ASA设备和FTD设备的未授权任意文件读取漏洞,但仅能读取到 WEB 目录下的文件,影响版本如下: Cisco…

    Linux 2023年6月8日
    0102
  • Linux下无限期使用Navicat16

    原文链接:https://www.zhoubotong.site/post/79.htmllinux 下的数据库图形化工具比较好用的有dbeaver完全免费,相比navicat,我…

    Linux 2023年6月6日
    0149
  • linux与windows的批处理应用

    本文主要记录一下,不同服务器部署springboot项目时,用到的批处理命令 linux,针对maven-assembly-plugin打的tar.gz包的springboot项目…

    Linux 2023年6月14日
    0108
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球