利用crontab系统每天定时备份MySQL数据库
程序员文章站
2022-04-13 13:13:16
...
源文: [url]http://database.51cto.com/art/200510/8433.htm[/url]
Linux计划任务——cron服务
[url]http://os.51cto.com/art/201011/233945.htm[/url]
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。
1、创建保存备份文件的路径/mysqldata
2、创建/usr/sbin/bakmysql文件
输入
这种方法不推荐使用,原因是当有用户写入数据时,会造成备份坏数据
这种方法推荐,mysql 标准备份数据库命令
/var/lib/mysql是你数据库文件的目录,部分用户是/usr/local/mysql/data,每个人可能不同
/mysqldata/表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。
3、修改文件属性,使其可执行
4、修改/etc/crontab
在下面添加
表示每天3点钟执行备份
5、重新启动crond
完成。
这样每天你在/mysqldata可以看到这样的文件
你直接下载就可以了。
在tar命令执行前,停止数据库服务进程或锁定数据库,
否则恢复数据时,会出现数据库损坏的情形,运气好时可修复,运气不好时就不可以了。
Linux计划任务——cron服务
[url]http://os.51cto.com/art/201011/233945.htm[/url]
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。
1、创建保存备份文件的路径/mysqldata
#mkdir /mysqldata
2、创建/usr/sbin/bakmysql文件
#vi /usr/sbin/bakmysql
输入
rq=` date +%Y%m%d `
tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql
这种方法不推荐使用,原因是当有用户写入数据时,会造成备份坏数据
这种方法推荐,mysql 标准备份数据库命令
rq=` date +%Y%m%d `
mysqldump --all-databases -u root -p980405 > /mysqldata/mysql$rq.tar.gz
/var/lib/mysql是你数据库文件的目录,部分用户是/usr/local/mysql/data,每个人可能不同
/mysqldata/表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。
3、修改文件属性,使其可执行
# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
#vi /etc/crontab
在下面添加
01 3 * * * root /usr/sbin/bakmysql
表示每天3点钟执行备份
5、重新启动crond
# /etc/rc.d/init.d/crond restart
完成。
这样每天你在/mysqldata可以看到这样的文件
mysql20040619.tar.gz
你直接下载就可以了。
在tar命令执行前,停止数据库服务进程或锁定数据库,
否则恢复数据时,会出现数据库损坏的情形,运气好时可修复,运气不好时就不可以了。