MySQL自动备份方法[摘合]

文章出处:http://gth0j73.9915.com/html/database/mysql/597/42216.html

一、实现本地自动备份数据库很简单:
1.以root身份登陆
2.计划任务(每天的3:30自动执行 /usr/bin/mysqlbackup)
crontab
0 3:30 * * * /usr/bin/mysqlbackup

3.写一个自动备份数据库脚本
vi /usr/bin/mysqlbackup
#!/bin/bash
mv /home/.../db_bak5.tgz /home/.../db_bak6.tgz
mv /home/.../db_bak4.tgz /home/.../db_bak5.tgz
mv /home/.../db_bak3.tgz /home/.../db_bak4.tgz
mv /home/.../db_bak2.tgz /home/.../db_bak3.tgz
mv /home/.../db_bak1.tgz /home/.../db_bak2.tgz
rm -rf /home/.../db_bak.txt
/usr/bin/mysqldump -uroot -ppassword dbname
> /home/.../db_bak.txt
cd /home/.../
tar czvf db_bak1.tgz db_bak.txt
二、这样每天的3:30就会在本地目录/home/.../下生成相应的数据库备份,开始由于/home/.../目录下缺少数据系统会提示错误,这是正常的
三、至于远程备份可以配合使用ftp或scp命令实现,方法很简单,查一下相关命令的使用,然后再改动一下mysqlbackup脚本就可以了

饮用地址:http://blog.verycd.com/dash/cmd=showentry&eid=6982

 去年7月份的时候,VeryCD发生过一起数据库硬盘损坏的不幸事件,由于缺乏备份,网站不得不从两个月前的数据重新开始。网友们称这一事件为“地震”。
为了避免“地震”再次发生,去年网站盖板后,不仅数据库硬盘换成了RAID0架构,还写了一个数据库备份的脚本,每天自动把数据库信息保存到另外一台备份服务器。今天重新修改了一下,拿出来共享:

先编辑一个sh文件

CODE
vi /var/local/bin/crontab/backup_db.sh


内容为:

CODE
cd /var/backup/db
rm -f database.sql
mysqldump --opt -uroot database>database.sql
rm -f database.`date -d today +/%w`.tar.gz
tar -zvcf database.`date -d today +/%w`.tar.gz database.sql
scp database.`date -d today +/%w`.tar.gz backup.verycd.com:/var/backup/db/


然后编辑crontab

CODE
crontab -e


增加

CODE
0 3 * * * sh backup_db.sh

你可能感兴趣的:(mysql,数据库,Date,脚本,服务器,任务)