使用脚本定时备份MySql数据库文件

news/2024/9/24 14:22:08/

如果mysql不在环境变量中,请先将mysql放入环境变量

#将mysql添加进环境变量中
export PATH=$PATH:/usr/local/mysql/bin/#重新加载配置文件
source /etc/profile

 

新建一个脚本

touch backup_all_databases.sh

脚本内容:

#!/bin/bash  # MySQL登录信息  
USER="root"  
PASSWORD="123456"  # 备份目录  
BACKUP_DIR="/home/mysqlbak/$(date +%Y%m%d)"  # 创建备份目录  
mkdir -p "$BACKUP_DIR"  # 获取所有数据库名  
DATABASES=$(mysql -u"$USER" -p"$PASSWORD" -Nse 'show databases')  # 遍历所有数据库进行备份  
for DB in $DATABASES; do  # 跳过系统数据库  if [[ "$DB" == "information_schema" || "$DB" == "mysql" || "$DB" == "performance_schema" || "$DB" == "sys" ]]; then  continue  fi  # 生成备份文件名  BACKUP_FILE="$BACKUP_DIR/${DB}_$(date +%Y%m%d%H%M%S).sql"  # 执行mysqldump命令进行备份  mysqldump -u"$USER" -p"$PASSWORD" "$DB" > "$BACKUP_FILE"  # 检查备份是否成功  if [ $? -eq 0 ]; then  echo "Database $DB backed up to $BACKUP_FILE"  else  echo "Error backing up database $DB"  fi  
done  echo "All databases backed up to $BACKUP_DIR"

需要给这个脚本文件执行权限:

chmod +x backup_all_databases.sh
需要给这个脚本文件执行权限:
./backup_all_databases.sh

自动执行

vi /etc/crontab#每天凌晨1点执行
0 1 * * * bash /home/backup_all_databases.sh

查看crontab服务状态:

service crond status

手动启动crontab服务:

service crond start

查看crontab服务是否已设置为开机启动,执行命令:

ntsysv

加入开机自动启动:

chkconfig –level 35 crond on


http://www.ppmy.cn/news/1438257.html

相关文章

计算机服务器中了halo勒索病毒怎么办?Halo勒索病毒解密攻击流程步骤

对于众多的企业来说,网络数字化办公模式已经变得普遍,任何企业都离不开网络,通过网络可以开展各项工作业务,方便企业的生产运营,但网络在为企业带来便利的同时,也为企业的数据安全带来严重威胁。近日&#…

RouteRecordRaw

最近在学习并使用typescript,接触到了很多新类型,今天在学习过程中,看到了RouteRecordRaw这个类型,写篇博客记录一下。 RouteRecordRaw RouteRecordRaw 是 Vue Router 4 中新增的一个类型定义。 它是用于定义路由记录的。 在 Vu…

Lock-It for Mac(应用程序加密工具)

OSXBytes Lock-It for Mac是一款功能强大的应用程序加密工具,专为Mac用户设计。该软件具有多种功能,旨在保护用户的隐私和数据安全。 Lock-It for Mac v1.3.0激活版下载 首先,Lock-It for Mac能够完全隐藏应用程序,使其不易被他人…

Trello与Notion的开源替代项目管理利器Focalboard本地安装与远程访问

本篇文章将介绍如何使用 Docker 本地部署 Focalboard 项目管理工具,并且结合 cpolar 内网穿透进行公网访问,实现团队协作,提高工作效率! Focalboard 是一个开源项目管理工具,可以替代 Asana、Trello 和 Notion 等软件…

【Java基础】压测工具JMeter使用简介

1. JMeter介绍 Apache JMeter是一个基于Java开发的开源性能测试工具,由Apache软件基金会维护 JMeter最初设计用于Web应用测试,但它的功能已经扩展到其他测试领域。JMeter可以用于测试静态和动态资源,如静态文件、Java小服务程序、CGI脚本、J…

前端开发攻略---用原生JS在网页中也能实现文本转语音

1、原理 语音合成 (也被称作是文本转为语音,英语简写是 tts) 包括接收 app 中需要语音合成的文本,再在设备麦克风播放出来这两个过程。 Web API中对此有一个主要控制接口 SpeechSynthesis,外加一些处理如何表示要被合成的文本 (也被称为 utte…

51单片机使用两个按钮控制LED灯不同频率的闪烁

#include <reg52.h>sbit button1 P1^1; // 间隔2秒的按钮 sbit button2 P1^5; // 间隔0.6秒的按钮sbit led P1^3;unsigned int cnt1 0; // 设置LED1灯的定时器溢出次数 unsigned int cnt2 0; // 设置LED2灯的定时器溢出次数 unsigned int flg1 0; // 模式1的标识值…

alert() 函数功能

基本的 alert() 函数用法&#xff1a; 最基本的用法是通过 alert() 函数显示一条简单的文本消息&#xff0c;如下所示&#xff1a; alert("Hello, World!");这将在浏览器中显示一个消息框&#xff0c;其中包含文本 “Hello, World!”。 显示变量的值&#xff1a; a…