刚刚学习了下mysql数据库的自动备份,趁热打铁,写到博客里,以免以后忘记。
mysql数据库的备份涉及到三个方面的知识,1,mysqldump命令;2,centos中/etc/crontab的使用;3,shell脚本。
首先介绍下mysqldump命令,这是mysql数据库自带的一个导出数据库的命令,具体的用法可以man下,这里只显示下我所用到的部分。
其次是介绍下/etc/crontab及其他cron.x文件。其
中crontab是事务的总配置文件,配置了每天每周每月每年轮询执行对应目录的所有脚本。而/etc/cron.daily,/etc/cron.monthly,/etc/cron.hourly则分别代表每天、每月、每小时需要执行的脚本。因为我是希望每天备份下网站的数据库,所以我把需要执行的shell放在了/etc/cron.daily的目录下。
最后贴下自己写的很简陋的shell脚本:
-
#!/bin/sh
-
set `date`
-
mysqldump --opt -uusername -ppassword databasename |gzip > /copymysql//$6$2$3$4.databasename.sql.gz
这句指令的意思是将mysql数据库中名字为databasename的数据库导出并保存在/copymysql目录下,其中
$2$3$4$6分别代表日期的月、日、时分秒、年。这样命名以便之后mysql数据库的恢复。
示例的代码是每天备份一遍数据库,至于在每天的什么时候备份,可以在/etc/crontab中进行设置。
阅读(1433) | 评论(0) | 转发(0) |