Linux系统shell脚本之mysql备份
Posted 江湖有缘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统shell脚本之mysql备份相关的知识,希望对你有一定的参考价值。
Linux系统shell脚本之mysql备份
一、脚本要求
1.备份/var/lib/mysql的内容
2.备份mysql数据库全部内容
3.单独备份mysql内每个数据库
二、脚本内容
[root@192 scripts]# cat ./mysql_bak.sh
#!/bin/bash
########################################
#Author:jeven
#time:Fri 20 May 2022 07:20:38 PM CST
#filename:mysql_bak.sh
#Script description:
######################################
# Database info
DB_USER="admin"
DB_PASS="admin123"
DB_HOST="192.168.3.146"
MYSQL_DIR=/var/lib/mysql/
DATE=$(date '+%Y%m%H%M')
if [ ! -d /backup/mysql ];then
mkdir -p /backup/mysql
else
cp -ar $MYSQL_DIR /backup/mysql/mysql-$DATE
/usr/bin/mysqldump -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASS" --all-databases > /backup/mysql/all_databases.sql-$DATE
DB_NAME=$(mysql -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASS" -Bse 'show databases')
for i in $DB_NAME
do
/usr/bin/mysqldump -h"$DB_HOST" -u"$DB_USER" -p"$DB_PASS" $i --skip-lock-tables > /backup/mysql/$i.sql-$DATE
done
fi
三、脚本执行结果
[root@192 scripts]# ./mysql_bak.sh
[root@192 mysql]# ll /backup/mysql/
total 2244
-rw-r--r-- 1 root root 514276 May 20 22:34 all_databases.sql-2022052234
-rw-r--r-- 1 root root 1244117 May 20 22:34 information_schema.sql-2022052234
drwxr-xr-x. 4 mysql mysql 165 May 20 19:40 mysql-2022052234
-rw-r--r-- 1 root root 514139 May 20 22:34 mysql.sql-2022052234
-rw-r--r-- 1 root root 16744 May 20 22:34 performance_schema.sql-2022052234
[root@192 mysql]#
以上是关于Linux系统shell脚本之mysql备份的主要内容,如果未能解决你的问题,请参考以下文章