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 @ 2020-06-16 15:36  點燈的人  阅读(930)  评论(0编辑  收藏  举报