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开始备份。