mysql备份脚本shell

vim mysqlbak.sh

#!/bin/bash

user='root'
pass='123456'
date=`date +%Y-%d-%m-%H-%M`
dir="/www/server/data"

#备份单个数据库
if [ -d $dir ];then

mysqldump -u$user -p$pass gaoxiao | gzip >${dir}/gaoxiao-${date}.sql.gz

else
mkdir -p $dir
mysqldump -u$user -p$pass gaoxiao | gzip >${dir}/gaoxiao-${date}.sql.gz

fi

##备份所有数据库(本案例是单独备份了一个库,然后又备份了全库,所以这里使用的    $? -eq 0 ,根据实际情况做一些修改即可。)

####(if [ $? -eq 0 ]  这里意思是$?:检测上一条命令是否成功,成功一般是等于0的,然后如果等于0,那就开始备份全库)

if [ $? -eq 0 ];then

mysqldump -u$user -p$pass --all-databases | gzip >${dir}/mysqlall-${date}.sql.gz

fi

#删除大于七天的数据,时间根据公司要求定
find $dir -mtime +7 -name "*.gz" -exec rm -rf {} \;

保存退出。

设置定时任务,案例设置的是每天的23:00开始备份。

 

posted @   點燈的人  阅读(932)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示