Linux自动备份mysql数据库|mysql备份

  • 2019 年 11 月 8 日
  • 笔记

文章时间:2019年1月31日 08:49:46 作者:余伟同学 说明:利用crotab定时器,实现定时自动备份mysql数据库

更新人

更新时间

更新内容

余伟同学

2019年10月10日 12:30:57

增加复杂版本sh,7天自动删除

安装crotab

安装教程地址:https://wiki.nooss.cn/archives/84.html

编写备份mysql的shell脚本

#简单版本

#!/bin/bash  mysqldump -uroot -ppassword datebaes | gzip >  /data/data/file_$(date +%Y%m%d_%H%M%S).sql.gz

#复杂版本

########文件名称为当天时间#############  time=`date '+%y-%m-%d %H:%M:%S'`  echo $time  echo '开始备份数据库...'  ###################数据库配置信息#######################  user=root  passwd=root  dbname=databases  mysql_back_path=/home/dbback/  ###################数据库配置信息#######################  /usr/bin/mysqldump -h127.0.0.1 -u$user -p$passwd $dbname > $mysql_back_path/$time.sql.gz  echo '数据库备份完成'  find /home/dbback/ -mtime +3 -name "*.sql.gz*"  -exec rm -rf {} ; #删除3天以上的备份sql  echo '检查删除过期备份数据库成功'

说明

  • -u 后面跟的是用户名
  • -p 后面跟的是密码
  • datebaes 是数据库的名字
  • /data/ 是生成的路径及文件名字
  • $(date +%Y%m%d_%H%M%S) 是按照时间进行输出

编写crontab计时器代码

生成器地址:http://www.nicetool.net/embed/crontab_editor.html

打开crontab

crontab -e

编写

0 */6 * * * * /home/dbback/bkdatabases.sh  #每6个小时执行一次  0 2 * * * sh /dbback.sh   #每天凌晨2点执行

说明:

  • crontab的计算器网上有 网址:https://tool.lu/crontab/
  • 路径后面是执行的某个.sh文件
  • 上面的代码代表每6个小时执行一次,其他用法请百度查询