Mysql 自动备份数据库 shell脚本
在我们平常的工作中。 有时需要定期去备份数据库。当然备份数据库有很多种方式。楼主这里只简单给大家说下如何编写定期备份数据库的shell 脚本。
创立备份目录
cd /opt
mkdir backup
cd backup/
创立备份 Shell 脚本:
vim DatabaseName.sh
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
对备份进行压缩:
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
注意:
把 username 替换为实际的客户名;
把 password 替换为实际的密码;
把 DatabaseName 替换为实际的数据库名;
增加可执行权限
chmod u+x DatabaseName.sh
增加计划任务
crontab -e
01??? 5***opt/backup/DatabaseName.sh
表示每天 5点钟执行备份
Crontab 的格式
第 1列分钟 1~59
第 2列小时 1~23(0表示子夜)
第 3列日 1~31
第 4列月 1~12
第 5列星期 0~6(0表示星期天)
第 6列要运行的命令
下面是 crontab 的格式:
分 时 日 月 星期 要运行的命令
这里有 crontab 文件条目的少量例子:
3021***/usr/local/apache/bin/apachectl restart
上面的例子表示每晚的 21:30重启 apache。
4541,10,22**/usr/local/apache/bin/apachectl restart
上面的例子表示每月 1、10、22日的 4: 45重启 apache。
101**6,0/usr/local/apache/bin/apachectl restart
上面的例子表示每周六、周日的 1: 10重启 apache。
0,3018-23***/usr/local/apache/bin/apachectl restart
上面的例子表示在每天 18: 00至 23: 00之间每隔 30分钟重启 apache。
023**6/usr/local/apache/bin/apachectl restart
上面的例子表示每星期六的 11: 00pm 重启 apache。
0*/1***/usr/local/apache/bin/apachectl restart
每一小时重启 apache
#20160912 修正,感谢 @张琼的指正,之前写错了,*/1 和 * 表示的同样的意思,对于 / 的用法,可以参考另一篇文章 Crontab 中的除号究竟怎样用?
023-7/1***/usr/local/apache/bin/apachectl restart
晚上 11点到早上 7点之间,每隔一小时重启 apache
0114*mon-wed /usr/local/apache/bin/apachectl restart
每月的 4号与每周一到周三的 11点重启 apache
041jan */usr/local/apache/bin/apachectl restart
一月一号的 4点重启 apache
此脚本为楼主在centos7.0 mysql5.7下亲测。其余环境应该都是相似的。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Mysql 自动备份数据库 shell脚本