mysql备份脚本 mysqldump使用方法详解
作者:leffss 时间:2024-01-24 12:27:04
本文实例为大家分享了mysql备份脚本,供大家参考,具体内容如下
#!/bin/bash
#全备方式,一般在从机上执行,适用于小中型mysql数据库
#删除15天以前备份
#作者:fafu_li
#时间:2015.08.10
source /etc/profile #加载系统环境变量
source ~/.bash_profile #加载用户环境变量
set -o nounset #引用未初始化变量时退出
#set -o errexit #执行shell命令遇到错误时退出
user="root"
password="123456"
host="localhost"
port="3306"
#需备份的数据库,数组
db=("test")
#备份时加锁方式,
#MyISAM为锁表--lock-all-tables,
#InnoDB为锁行--single-transaction
lock="--single-transaction"
mysql_path="/usr/local/mysql"
backup_path="${mysql_path}/backup"
date=$(date +%Y-%m-%d_%H-%M-%S)
day=15
backup_log="${mysql_path}/backup.log"
#建立备份目录
if [ ! -e $backup_path ];then
mkdir -p $backup_path
fi
#删除以前备份
find $backup_path -type f -mtime +$day -exec rm -rf {} \; > /dev/null 2>&1
echo "开始备份数据库:${db[*]}"
#备份并压缩
backup_sql(){
dbname=$1
backup_name="${dbname}_${date}.sql"
#-R备份存储过程,函数,触发器
mysqldump -h $host -P $port -u $user -p$password $lock --default-character-set=utf8 --flush-logs -R $dbname > $backup_path/$backup_name
if [[ $? == 0 ]];then
cd $backup_path
tar zcpvf $backup_name.tar.gz $backup_name
size=$(du $backup_name.tar.gz -sh | awk '{print $1}')
rm -rf $backup_name
echo "$date 备份 $dbname($size) 成功 "
else
cd $backup_path
rm -rf $backup_name
echo "$date 备份 $dbname 失败 "
fi
}
#循环备份
length=${#db[@]}
for (( i = 0; i < $length; i++ )); do
backup_sql ${db[$i]} >> $backup_log 2>&1
done
echo "备份结束,结果查看 $backup_log"
du $backup_path/*$date* -sh | awk '{print "文件:" $2 ",大小:" $1}'
来源:http://www.cnblogs.com/leffss/p/7832047.html
标签:mysql,备份,mysqldump
0
投稿
猜你喜欢
python重试装饰器的简单实现方法
2022-07-15 12:54:10
Python Flask 实现 HTML 文件压缩案例代码(9 级压缩)
2021-05-22 15:22:13
Vue子组件内的props对象参数配置方法
2024-04-30 10:39:09
pyinstaller将含有多个py文件的python程序做成exe
2021-03-04 21:02:22
Javascript模拟加速运动与减速运动代码分享
2024-06-07 15:27:46
python实现转圈打印矩阵
2022-10-28 09:23:20
如何用SA-FileUp上传一个单纯的HTML文件?
2010-05-18 18:29:00
浅谈Python中range与Numpy中arange的比较
2021-05-21 00:15:48
GO语言的IO方法实例小结
2023-09-17 08:47:24
如何使用ASP来读写注册表
2007-09-20 13:08:00
SQL Server之SELECT INTO 和 INSERT INTO SELECT案例详解
2024-01-22 01:11:56
mysql insert 存在即不插入语法说明
2024-01-17 18:46:05
YOLOv5车牌识别实战教程(八)Web应用与API开发
2022-12-29 23:44:22
Pyecharts 动态地图 geo()和map()的安装与用法详解
2023-08-16 17:07:34
CGArt®2008 贺岁刊电子杂志玉鼠闹春
2008-02-15 08:59:00
sqlserver获取当前日期的最大时间值
2011-09-30 11:44:50
php中防止SQL注入的最佳解决方法
2023-08-19 21:52:20
SQL为什么不建议执行超过3表以上的多表关联查询
2024-01-28 07:58:00
python jenkins 打包构建代码的示例代码
2022-10-05 02:22:02
Vue中添加手机验证码组件功能操作方法
2023-07-02 16:57:16