CentOS定时备份mysql数据库和清理过期备份文件

整个流程主要分为:

  1. 创建备份数据库的文件夹;
  2. 编写备份数据库以及清理过期文件的脚本;
  3. 编写定时任务,定时启动脚本

创建备份目录

这里演示的备份目录是在/root/mysql_bak,可以根据自己想要把备份目录放在哪个文件夹下更改对应路径即可:

mkdir /root/mysql_bak

编写脚本

进入mysql_bak目录

cd /root/mysql_bak

创建backup.sh文件

vi backup.sh

#!/bin/bash
#*****************************************
#***********mysql自动备份压缩*************
#filename=backup_dbfile.sh               *
#Author:fengbin                          *
#email:fengbin@cmss.chinamobile.com      *
#*****************************************

#设置mysql登陆参数
User=root
Password=oneapm_si
echo "******root账户登录成功*************"

#备份文件要保存的目录
date=`date  +"%Y%m%d"`
Path=/app/mysql//backup_databases/$date
export PATH=$PATH:/app/mysql/mysql/bin
[ -d "$Path" ] || mkdir -p "$Path"
echo"***backup_path=/app/mysql/backup_databases/date successfully ***"

#备份和压缩all databases 全量备份并压缩
mysqldump -u$User -p$Password --opt --routines --flush-logs --single_transaction --master-data=2 --all-databases >$Path/$date.sql
cd $Path
tar czvf $date.sql.tar.gz $date.sql
echo "$date.sql.tar.gz备份成功!"

#删除.sql 文件 只保留tar.gz压缩文件
rm -rf $date.sql
echo "**************删除.sql 文件 只保留tar.gz压缩文件********"

# keep 7-days的数据
find /app/mysql/backup_mysql/backup_databases/*  -mtime +7  -exec rm -rf {} \;
echo "*************删除7天前的目录和tar.gz file************"

赋予权限,如果不给予权限的话,该脚本是无法运行的

chmod +x backup.sh

编辑定时任务

执行以下命令:crontab -e

#每周日零点执行数据库备份脚本
0 0 * * 0 /root/mysql_bak/backup.sh

 

 Crontab 格式

分 时 日 月 周 执行命令
第 1 列分钟 1~59,每分钟用 * 或者*/1表示,整点分钟数为00或0
第 2 列小时 1~23(0 表示 0 点)
第 3 列日 1~31
第 4 列月 1~12
第 5 列星期 0~6(0 表示星期天)
第 6 列要运行的命令
0 3 * * * /root/mysql_bak/backup.sh,此命令表示在每天的凌晨三点执行一次脚本,可自行调整时间

重启crondtab服务

编写好定时任务后,需要重启crondtab服务,命令如下:

service crond restart

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值