Home  >  Article  >  Database  >  shell脚本备份MySQL数据库

shell脚本备份MySQL数据库

WBOY
WBOYOriginal
2016-06-07 17:26:111018browse

临近年关整理一些脚本程序,发现一个mysql数据库备份的脚本可以和大家分享一下,基于环境是ubuntu 10.04 server

需求

临近年关整理一些脚本程序,发现一个mysql数据库备份的脚本可以和大家分享一下,,基于环境是Ubuntu 10.04 server

思路

shell代码

数据库导出代码

#!/bin/bash

#1.数据库信息定义
mysql_host="192.168.1.1"
mysql_user="root"
mysql_passwd="root"

#sql备份目录
root_dir="/backup"
back_dir="/backup/databases"
data_dir="databases"
store_dir="database"
if [ ! -d $back_dir ]; then
 mkdir -p $back_dir
fi

#备份的数据库数组
db_arr=$(echo "show databases;" | mysql -u$mysql_user -p$mysql_passwd -h$mysql_host)
#不需要备份的单例数据库
nodeldb="test1"

#当前日期
date=$(date -d '+0 days' +%Y%m%d)

#zip打包密码
zippasswd="passwd"
zipname="lczh_"$date".zip"


#2.进入到备份目录
cd $back_dir


#3.循环备份
for dbname in ${db_arr}
do
 if [ $dbname != $nodeldb ]; then
  sqlfile=$dbname-$date".sql"
  mysqldump -u$mysql_user -p$mysql_passwd -h$mysql_host $dbname >$sqlfile
 fi
done


#4.zip打包所有的sql文件
cd $root_dir/$store_dir
zip -r -P $zippasswd $zipname $root_dir/$data_dir
#打包成功后删除sql文件
if [ $? = 0 ]; then
 rm -r $data_dir
fi

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn