CentOS定时备份MySQL数据库

1、编写备份脚本

vi /usr/sbin/mysql_dy_backup.sh

#!/bin/bash

#备份路径

BACKUP=/data/backup/sql/dy

#当前时间

DATETIME=$(date +%Y-%m-%d_%H%M%S)

echo "===备份开始==="

echo "备份文件存放于${BACKUP}/$DATETIME.tar.gz"

#数据库地址

HOST=localhost

#数据库用户名

DB_USER=root

#数据库密码

DB_PW=Ces123456

#创建备份目录

[ ! -d "${BACKUP}/$DATETIME" ] && mkdir -p "${BACKUP}/$DATETIME"

 

#后台系统数据库

DATABASE=dy_backgroundms

mysqldump -u${DB_USER} -p${DB_PW} --host=$HOST -q -R --databases $DATABASE | gzip > ${BACKUP}/$DATETIME/$DATABASE.sql.gz

 

#投入品监管数据库

DATABASE=dy_firip

mysqldump -u${DB_USER} -p${DB_PW} --host=$HOST -q -R --databases $DATABASE | gzip > ${BACKUP}/$DATETIME/$DATABASE.sql.gz

 

#压缩成tar.gz包

cd $BACKUP

tar -zcvf $DATETIME.tar.gz $DATETIME

#删除备份目录

rm -rf ${BACKUP}/$DATETIME

 

#删除10天前备份的数据

find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;

echo "===备份成功==="

 

注:find:linux的查找命令,用户查找指定条件的文件

-mtime:标准语句写法

+10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件

"*.*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三

-exec:固定写法

rm -rf:强制删除文件,包括目录

{} \; :固定写法,一对大括号+空格+\

 

2、更改备份脚本权限

chmod u+x /usr/sbin/mysql_dy_backup.sh

 

3、设置定时执行脚本任务

crontab -e

#每天17:30执行

30 17 * * * /usr/sbin/mysql_dy_backup.sh

 ————————————————————————————————————————————————————————————————————————

 

 

copy时候按a

 可以通过以下命令查看任务日志:

tail -f /var/log/cron

q:退出
wq:修改后保存退出
q!:强制退出,不保存修改的内容

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值