Linux上通过mysqldump命令实现自动备份

news2024/11/15 8:35:01

Linux上通过mysqldump命令实现自动备份

直接上代码

#!/bin/bash
mysql_user="root"
mysql_host="localhost"
mysql_port="3306"
mysql_charset="utf8mb4"

backup_location=/home/mysql/mysql_back/sql
# 是否开始自动删除过期文件,过期时间10天
expire_backup_delete="ON"
expire_days=10

backup_time=$(date +%Y%m%d%H%M)
backup_dir=$backup_location

welcome_msg="Welcome to use MySQL backup tools!"
# 数据库密码文件
mysql_defaults_file="/home/mysql/mysql_back/.my.cnf"

# 检查MySQL实例是否正常运行
mysql_ps=$(ps -ef | grep mysql | wc -l)
mysql_listen=$(netstat -an | grep LISTEN | grep $mysql_port | wc -l)

if [ $mysql_ps -eq 0 ] || [ $mysql_listen -eq 0 ]; then
    echo "ERROR: MySQL is not running! Backup stopped!"
    exit 1
else
    echo $welcome_msg
fi

# 开始备份
/usr/local/mysql/bin/mysqldump --defaults-extra-file=$mysql_defaults_file --add-drop-table -h $mysql_host -P $mysql_port --default-character-set=$mysql_charset --hex-blob dflow_client --single-transaction --routines --events | gzip > $backup_dir/dflow_client-$backup_time.sql.gz
flag=$?
if [ $flag -eq 0 ]; then
    echo "Database backup success. Backup saved to $backup_dir/dflow-$backup_time.sql.gz"
else
    echo "Database backup failed!"
    exit 1
fi

# 删除过期数据
if [ "$expire_backup_delete" == "ON" ] && [ "$backup_location" != "" ]; then
    expired_file_prefix="dflow-$(date -d "-$expire_days days" +%Y%m%d)"
    find $backup_location/ -type f -name "$expired_file_prefix*.sql.gz" -delete
    echo "Expired backup data deleted!"
fi

说明:
文件备份输出目录:backup_location=/home/mysql/mysql_back/sql
数据库信息文件: mysql_defaults_file=“/home/mysql/mysql_back/.my.cnf”

my.cnf文件
[client]
user=root
password=1223
设置定时任务
#查看任务
crontab -l
#进入任务编辑
crontab -e
#设置凌晨一点执行,并且输出日志
00 01 * * * sh /home/mysql/mysql_back/dflow_bak.sh >> /home/mysql/mysql_back/crontabLog/info.log 2>>/home/mysql/mysql_back/crontabLog/err.log

在这里插入图片描述
在这里插入图片描述

脚本目录:/home/mysql/mysql_back
日志输出目录:/home/mysql/mysql_back/crontabLog

这个备份一个数据库,备份多个使用这个

/usr/local/mysql/bin/mysqldump --defaults-extra-file=$mysql_defaults_file --add-drop-table -h $mysql_host -P $mysql_port --default-character-set=$mysql_charset --hex-blob --single-transaction --routines --events --databases db1 db2 db3 | gzip > $backup_dir/databases-$backup_time.sql.gz

db1 db2 db3 是数据库名称

相关命令说明: mysqldump指令

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

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

相关文章

PUPANVR-LVGL UI主菜单及设置窗体框架(9)

PUPA NVR UI主菜单及设置窗体框架 在设计UI时,竟量把数据、控制、显示,分开,即MVC的一个模式吧!使用MVC这样的模式思想,会让代码简洁不少,逻辑也很清析! 具体的代码见: PUPANVR这个…

北邮22级信通院数电:Verilog-FPGA(4)第三周实验:按键消抖、呼吸灯、流水灯 操作流程注意事项

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.注意事项 二.按键消抖 2.1 LED_deboun…

面试题补充

1.公司有几套环境:测试环境(测试人员使用),开发环境(开发人员使用),预生产环境(测试人员使用),生产环境(用户使用) 2.作为一名测试&a…

关于GP7 release版在麒麟V10信创操作系统编译不过的问题解决

背景 大家期盼已久的Greenplum 7 最终版终于发布了!好消息!! 很多同学已经忍不住想快速试用GP 7新版本了,同时,为了满足信创要求,需要在国产的操作系统服务器上运行GP。 然后官方的GP 7并没有明确声明支持…

run_main_loop 到 cmd_process处理说明三

一. run_main_loop 到 cmd_process处理过程 之前文章了解了 uboot的命令格式组成。本文简单分析下 cmd_process函数对 uboot命令的处理过程。 本文继上一篇文章的学习,地址如下: uboot启动流程-run_main_loop 到 cmd_process处理说明二-CSDN博客 二. …

扎克伯格:希望借助数字助理、智能眼镜和AI帮助推动元宇宙发展

Meta推出了新的人工智能工具和名人代言的数字助手,首席执行官马克扎克伯格希望这些工具可以帮助推动元宇宙的发展。 9月30日消息,据外媒报道,Meta推出了新的人工智能工具和名人代言的数字助手,首席执行官马克扎克伯格希望这些工具…

Swagger3.0 与spring boot2.7x 整合避免swagger2.0与boot2.7冲突

注释掉2.0引入的俩包 直接引入3.0 <dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3.0.0</version></dependency> swagger配置文件粘贴即用哦 import org.springfram…

提取Android盒子dtb文件

概述 最近从某鱼上掏了一个CM201-1 YS的盒子&#xff0c;动手倒腾倒腾&#xff0c;准备安装Armbian&#xff0c;用来做矿机&#xff0c;但该型号的盒子ophub上面没有完全适配的镜像&#xff0c;故而想尝试下&#xff0c;看能否整个适配镜像出来。 操作系统 Windows Linux 工…

JMeter—逻辑控制器

JMeter逻辑控制器 JMeter逻辑控制器可以对元件的执行逻辑进行控制&#xff0c;除仅一次控制器外&#xff0c;其他可以嵌套别的种类的逻辑控制器  一、ForEach控制器 定义一个循环规则&#xff0c;关键参数说明&#xff1a;   输入变量前缀&#xff1a;可以在“用户自定义的…

10月TIOBE榜Java跌出前三!要不我转回C#吧

前言 Java又要完了&#xff0c;又要没了&#xff0c;你没看错&#xff0c;10月编程语言榜单出炉&#xff0c;Java跌出前三&#xff0c;并且即将被C#超越&#xff0c;很多资深人士预测只需两个月&#xff0c;Java就会跌出前五。 看到这样的文章&#xff0c;作为一名Java工程师我…

Cmake 3.27.5 发布,开源构建系统

导读CMake 是一个跨平台的自动化构建系统&#xff0c;它使用一个名为 CMakeLists.txt 的文件来描述构建过程&#xff0c;可以产生标准的构建文件&#xff0c;如 Unix 的 Makefile 或 Windows Visual C 的 projects/workspaces 。文件 CMakeLists.txt 需要手工编写&#xff0c;也…

静电地桩的安装和使用说明

静电地桩的安装使用需要遵循以下步骤&#xff1a; 确定静电地桩的位置&#xff1a;静电地桩应该安装在需要消除静电的区域&#xff0c;如易燃易爆场所、电子厂、医院等。在安装前需要对地面进行清洁和处理&#xff0c;确保地面平整、干燥、无灰尘等杂物。 安装静电地桩&#xf…

FPM-FORM

FPM DEMO&#xff1a;FPM_OVP_COMPONENT FORM&#xff1a; IF_FPM_GUIBB_FORM TABLE LIST&#xff1a; IF_FPM_GUIBB_LIST TREE&#xff1a; IF_FPM_GUIBB_TREE SEARCH LIST&#xff1a; IF_FPM_GUIBB_SEARCH 需求&#xff1a;FPM启动时默认从EKPO去一条采购订单数据&#xff…

想要用Chat GPT写申请文书?先看各大名校招生官对它的态度是什么?

新的申请季已经正式开始&#xff0c;一些热门项目的ED截止日期也不再遥远&#xff0c;因此很多准留学生们都已经开始了关于文书的创作。 而随着科技的不断发展&#xff0c;以ChatGPT为首的一众AI工具也作为一种辅助手段愈发融入了我们的生活。 那么不免就会有一些同学在准备申…

提升后端API性能的几种解决方案

&#x1f514;目的 提升后端API性能的主要目的是为了提高系统整体的响应速度、并发能力以及可用性。主要原因包括: 提高用户体验 后端API性能好可以减少响应延迟,给用户流畅的体验。 提高系统吞吐量 优化API性能可以提高系统的整体吞吐量,处理更多用户请求。 节省服务器资源…

wps演示时图片任意位置拖动

wps演示时图片任意位置拖动 1.wps11.1版本&#xff0c;其他版本的宏插件可以自己下载。2.先确认自己的wps版本是不是11.13.检查是否有图像工具4.检查文件格式和安全5.开发工具--图像6.选中图像控件&#xff0c;右击选择查看代码&#xff0c;将原有代码删除&#xff0c;将下边代…

经典面试题第十更---instanceof与typeof

前言&#xff1a; &#x1f921; 作者简介&#xff1a;我是Morning&#xff0c;计算机的打工人&#xff0c;想要翻身做主人 &#x1f648; &#x1f648; &#x1f648; &#x1f3e0; 个人主页&#xff1a; Morning的主页 &#x1f4d5;系列专栏&#xff1a; 前端…

「Qt中文教程指南」如何创建基于Qt Widget的应用程序(二)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 本文描述了如何使用…

计算机毕业设计选什么题目好?springboot 班级事务管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

JS里字符串全部替换

突然在需要处理一个字符串&#xff0c;使用了替换函数之后&#xff0c;发现只替换了第一个位置的字符串&#xff0c;如下结果&#xff1a; 就想要全部替换&#xff0c;可以这样处理: 使用 str.replace(/需要替换的字符串/g&#xff0c;"新字符串")或者使用replaceA…