一、实现本地自动备份数据库很简单:
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脚本就可以了
在win2003下MySQL数据库每天自动备份
终于让服务器每天早上备份一次 MySQL 数据库并自动打包,同时删除 5 天前的备份文件. 分享如下.
- 环境: windows server 2003 + Apache 2.0 + PHP5 + MySQL 4.0.26 .
- 假设 PHP 安装目录为 D:/php ,MySQL 安装目录为 D:/mysql.
- 在 D:/php 下建立目录 WinRAR, 把你 winrar 安装目录下的 WinRAR.exe 和 RARReg.KEY 复制到 D:/php/WinRAR .
- D:/php 下建立文件 mysql_backup.php:
//
#FileName: mysql_backup.php
#Author: faisun
#Website: http://www.softpure.com
/
//保存目录,路径要用反斜杠.您需要手动建立它.
$store_folder = ‘D:\databse_backup’;
//用户名和密码
//该帐号须有操作[所有]的数据库及FILE的权限
//否则有些远程桌面数据库不能备份.
$db_username = “root”;
$db_password = “”;
$time=time();
n o w d i r = " nowdir = " nowdir="store_folder\".date(“Ymd”, t i m e ) . " " ; i f ( f i l e e x i s t s ( " time).""; if(file_exists(" time)."";if(fileexists("nowdir.rar")) die(“File exists.\n”);
@mkdir( n o w d i r ) ; m y s q l c o n n e c t ( " l o c a l h o s t " , " nowdir); mysql_connect("localhost"," nowdir);mysqlconnect("localhost","db_username","$db_password");
q u e r y = m y s q l l i s t d b s ( ) ; w h i l e ( query=mysql_list_dbs(); while( query=mysqllistdbs();while(result=mysql_fetch_array(KaTeX parse error: Expected group after '_' at position 27: …ystem (dirname(_̲_FILE__).'\..\m…result[Database]
-u{KaTeX parse error: Expected 'EOF', got '}' at position 12: db_username}̲ ".(db_password?"-p{$db_password}":"")." >
$nowdir\ r e s u l t [ D a t a b a s e ] . s q l " ) ; e c h o " d u m p i n g d a t a b a s e ‘ result[Database].sql"); echo "dumping database ` result[Database].sql");echo"dumpingdatabase‘result[Database]`…\n";
}
echo “\nWinrar loading…\n”;
system( dirname(FILE)."\WinRAR\WinRAR.exe a -ep1 -r -o+ -m5 -df “$nowdir.rar”