Linux 系统应用:Mysql数据库自动备份脚本
Linux 系统应用:Mysql数据库自动备份脚本
目录
简介
线上环境对 mysql 数据库的备份.
正篇
创建备份 Shell 脚本,并保存至相关目录,例如:mysql-backup.sh
#!/bin/bash # Mysql 数据库自动备份脚本 # 数据库认证 host=localhost username=root password=123456 db_name=test # 备份路径 backup_dir=/data/backup/mysql # 日期格式 date=$(date +"%Y%m%d") # Dump数据库到SQL文件 mysqldump -h$host -u$username -p$password $db_name > $backup_dir/$db_name-$date.sql #写创建备份日志 echo "create $backup_dir/$db_name-$date.sql" >> $backup_dir/log.txt # 备份清理 # 删除5天之前的就备份文件 find $backup_dir/* -mtime +5 -exec rm {} \;
- 添加可执行权限
~]# chmod u+x mysql-backup.sh 添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用; ~]# ./mysql-backup.sh
- 通过
crontab -e
命令添加计划任务,添加如下代码,即可实现每天定时备份 mysql 数据库# 每天的23点50分执行备份 50 23 * * * /data/backup/mysql-backup.sh
参考链接
结束语
- 未完待续…
- 附带
Crontab
的常用格式`
第 1 列分钟 0~59
第 2 列小时 0~23(0 表示子夜)
第 3 列日 1~31
第 4 列月 1~12
第 5 列星期 0~6(0 表示星期天)
第 6 列要运行的命令
30 21 * /usr/local/apache/bin/apachectl restart
上面的例子表示每晚的 21:30 重启 apache。
45 4 1,10,22 /usr/local/apache/bin/apachectl restart
上面的例子表示每月 1、10、22 日的 4 : 45 重启 apache。
10 1 6,0 /usr/local/apache/bin/apachectl restart
上面的例子表示每周六、周日的 1 : 10 重启 apache。
0,30 18-23 * /usr/local/apache/bin/apachectl restart
上面的例子表示在每天 18 : 00 至 23 : 00 之间每隔 30 分钟重启 apache。
0 23 6 /usr/local/apache/bin/apachectl restart
上面的例子表示每星期六的 11 : 00 pm 重启 apache。
0 /1 /usr/local/apache/bin/apachectl restart
每一小时重启 apache
#20160912 修正,感谢 @张琼的指正,之前写错了,/1 和 表示的同样的意思,对于 / 的用法,可以参考另一篇文章 Crontab 中的除号到底怎么用?
0 23-7/1 * /usr/local/apache/bin/apachectl restart
晚上 11 点到早上 7 点之间,每隔一小时重启 apache
0 11 4 * mon-wed /usr/local/apache/bin/apachectl restart
每月的 4 号与每周一到周三的 11 点重启 apache
0 4 1 jan * /usr/local/apache/bin/apachectl restart
一月一号的 4 点重启 apache`
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 tujide.lv@foxmail.com
文章标题:Linux 系统应用:Mysql数据库自动备份脚本
文章字数:622
本文作者:Tujide.lv
发布时间:2019-03-09, 15:23:53
最后更新:2019-10-27, 21:44:23
原始链接:https://lvzhiqiang.top/2019/os-linux-db-backup.html版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。