1、创建一个存放备份数据库的文件夹
#目录
cd /usr/local
#创建文件夹
mkdir mysql_bak
2、进入目录 mysql_bak
cd mysql_bak
3、创建定时脚本
vim mysql.bak.sh
填写以下内容到mysql.bak.sh
#!/usr/bin/bash
#备份地址
backupdir=/usr/local/mysql_bak
#备份文件后缀时间
time=_` date +%Y_%m_%d_%H_%M_%S `
#需要备份的数据库名称
db_name=test
#mysql 用户名
db_user=root
#mysql 密码中含有特殊字符(例如 ! 等)记住用引号将 “密码” 包起来
db_pass='123456!'
#mysqldump命令使用绝对路径
mysqldump -u$db_user -p$db_pass $db_name | gzip > $backupdir/$db_name$time.sql.gz
#删除15天之前的备份文件
find $backupdir -name $db_name"*.sql.gz" -type f -mtime +15 -exec rm -rf {} \; > /dev/null 2>&1
进行一次测试,先对mysql.bak.sh 文件赋予可执行权限
chmod +x mysql.bak.sh
#或
chmod 755 mysql.bak.sh
执行一次,查看/usr/local/mysql_bak文件夹下是否有生成的备份数据
./mysql.bak.sh
显示如下即可以解压查看是否成功
接下来创建定时任务:
crontab -e
#每天凌晨3点执行一次
00 3 * * * /usr/local/mysql_bak/mysql.bak.sh
保存完工