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个小时执行一次,其他用法请百度查询