欢迎拍砖,详细内容如下:
# MYSQL 数据文件路径
MYSQL_DATA_PATH="/usr/local/mysql/data/"
# 备份目录
MYSQL_DUMP_PATH="***/DB/"
# 备份用户名
MYSQL_ACCOUNT="mysql_backup"
# 备份密码
MYSQL_PASSWORD="mysql_backup"
MYSQLDUMP_OPTS="mysqldump -u$MYSQL_ACCOUNT -p$MYSQL_PASSWORD --single-transaction"
# 压缩命令 bzip2 -k 保留源文件
TAR_OPTS="bzip2 "
# 单个数据库进行备份
function BackDB(){
FULLPATH="$1"
#遍历目录
for dbName in $(/bin/ls $FULLPATH)
do
# check is database
fileType=`/usr/bin/file $FULLPATH$dbName | /bin/awk '{FS=":"} {printf $2}'`
# 文件夹的类型为directory
if [ "directory" == $fileType ]; then
# start dump
if [ "$dbName" == "mysql" ] \
|| [ "$dbName" == "test" ] \
|| [ "$dbName" == "information_schema" ] \
|| [ "$dbName" == "performance_schema" ]; then
echo "------------->$dbName not need dump!!"
else
echo $dbName
dumpName=$MYSQL_DUMP_PATH/"$dbName"_"$DATESTR"
$MYSQLDUMP_OPTS $dbName > "$dumpName".sql
# 压缩备份档
$TAR_OPTS "$BACKUP_NAME".sql
fi
else
printf '%s is not database ######## \n' $dbName
fi
done
}
# 每个数据表单独备份
function BackDBTB(){
FULLPATH="$1"
#遍历目录
for fName in $(/usr/bin/find $FULLPATH -name "*.ibd")
do
dbPath=`echo "$fName" | /bin/awk 'BEGIN {FS="'$FULLPATH'"} {printf $2}'`
# get database name
dbName=`echo "$dbPath" | /bin/awk 'BEGIN {FS="/"} {printf $1}'`
# get table name
tbName=`echo "$dbPath" | /bin/awk 'BEGIN {FS="/"} {printf $2}'`
# start dump
if [ "$dbName" == "mysql" ]\
|| [ "$dbName" == "test" ] \
|| [ "$dbName" == "information_schema" ] \
|| [ "$dbName" == "performance_schema" ]; then
echo "------------->$dbName not need dump!!"
else
echo $dbName $tbName
dumpName=$MYSQL_DUMP_PATH/"$dbName"_"$tbName"_"$DATESTR"
$MYSQLDUMP_OPTS $dbName $tbName > "$dumpName".sql
# 压缩备份档
$TAR_OPTS "$dumpName".sql
fi
done
}
分享到:
相关推荐
### Linux下定时备份MySQL数据库的Shell脚本知识点详解 #### 一、背景介绍与重要性 对于每一个在线网站或服务而言,数据备份是一项至关重要的任务。无论是为了应对未来的版本升级,还是服务器迁移的需求,定期备份...
总结,通过编写和使用`databackup.sh`和`datarestore.sh`这样的Shell脚本,Linux用户可以方便地对MySQL数据库进行自动化备份和恢复,确保在系统故障或数据丢失时能够迅速恢复服务,保障业务连续性。这两个脚本是IT...
### 如何在Linux下实现MySQL数据库每天自动备份 在Linux环境下进行MySQL数据库的日常自动备份是一项重要的维护工作,它能够确保数据的安全性与完整性。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务来...
linux服务器上,自己做所有数据库备份脚本方法,先打包在保存
综上所述,"Linux下清理数据库shell脚本"涉及了Linux系统管理、数据库备份策略、shell脚本编程、任务调度和错误处理等多个方面。通过编写这样的脚本,我们可以实现自动化运维,提高工作效率,同时保障数据的安全性和...
今天这个备份分二个版本一个是linux上直接安装的mysql,另一种是docker上安装的mysql。基本操作都一样只是备份sql语句不同而已。可以选择设置需要备份的库,自动备份压缩,自动删除 7 天前的备份,需要使用 crontab ...
在Linux环境中,使用shell脚本来实现每天定时备份MySQL数据库是一种常见的自动化操作,它可以帮助系统管理员高效地维护数据库的备份策略,确保数据的安全性。以下将详细介绍如何通过Linux shell实现这个功能。 首先...
防止误删服务器数据库 ,使用Shell脚本备份数据库: ### 1、需求分析: 1)每天凌晨2:10备份数据库atguiguDB到/data/backup/db 2)备份开始和备份结束能够给出相应的提示信息 3)备份后的文件要求以备份时间为...
首先,备份MySQL数据库通常使用`mysqldump`工具,这是一个命令行实用程序,可以用来备份整个数据库或单个表。在描述中,我们看到备份过程分为几个步骤: 1. **登录MySQL**:通过输入`mysql -u root -p`命令,其中`...
mysql数据库备份shell脚本,每天备份,只保留30天的备份数据
MySQL数据库的自动定时备份是数据库管理中的重要环节,它确保了数据的安全性和可恢复性,尤其是在发生意外情况如系统故障、硬件损坏或人为错误时。本教程将详细讲解如何设置MySQL数据库的自动定时备份,包括步骤、所...
### Linux自动备份MySQL数据库并上传到FTP服务器上Shell脚本详解 #### 一、脚本概述 本脚本主要用于在Linux环境下实现MySQL数据库的自动备份,并将备份文件上传至指定的FTP服务器。对于需要定期备份MySQL数据库的...
在Linux环境中,MySQL数据库的备份是系统运维工作中的重要环节,确保数据安全和业务连续性。本文将详细解析一个Linux下的MySQL数据库备份脚本,包括其功能、原理以及使用方法。 首先,我们要明白Linux下的备份脚本...
本文将详细介绍如何编写一个在Linux环境下,每天凌晨3点自动执行的MySQL数据库备份脚本,以及如何配置Linux的定时任务来执行这个脚本。 首先,我们来看`DB_backup.sh`这个脚本文件。它通常包含以下核心部分: 1. *...
在本例中,shell脚本用于控制多线程备份MySQL数据库的过程。 多线程备份的关键在于并发执行,这意味着多个备份任务可以同时进行,从而缩短总备份时间。在MySQL 5.7.8之后的版本中,可以通过`mysqldump`命令来导出...
linux系统通过shell脚本,备份mysql数据库,并通过定时任务的配置,每天在设定的时间内执行备份计划
在linux下方便的备份mysql数据库的脚本。
本文将详细介绍一个在Linux环境下用于MySQL数据库备份的Shell脚本。该脚本实现了自动化的数据库备份功能,并利用了Cron作业来定时执行备份任务。通过该脚本,用户可以轻松地对MySQL数据库进行定期备份,同时保留最近...
在IT行业中,数据库管理是至关重要的任务,尤其是对于运行在Linux环境下的MySQL数据库。本地备份与异地备份都是保障数据安全的重要策略。以下是对标题和描述中提到的知识点的详细解释: 1. **MySQL数据库备份**:...