实现 win2003 下 mysql 数据库每天自动备份

1. 环境: windows server 2003 +  PHP5 + MySQL 5.1.6. 
2. 假设 PHP 安装目录为 D:/php ,MySQL 安装目录为 D:/mysql. 
3. 在 D:/php 下建立目录 WinRAR, 把你 winrar 安装目录下的 WinRAR.exe 和 RARReg.KEY 复制到 D:/php/WinRAR . 
4. D:/php 下建立文件 mysql_backup.php:

代码如下:

<?
//保存目录,路径要用反斜杠.您需要手动建立它.
$store_folder = 'D:\databse_backup';  

//用户名和密码
//该帐号须有操作[所有]的数据库及FILE的权限
//否则有些数据库不能备份.
$db_username = "root";
$db_password = "";  

$time=time();  

$nowdir = "$store_folder\\".date("Ymd",$time)."";
if(file_exists("$nowdir.rar")) die("File exists.\r\n");
@mkdir($nowdir);  

mysql_connect("localhost","$db_username","$db_password");
$query=mysql_list_dbs();  

$command = '';
while($result=mysql_fetch_array($query)){
  $command .= dirname(__FILE__).'\..\mysql\bin\mysqldump --opt '."$result[Database] -u{$db_username} ".($db_password?"-p{$db_password}":"")." > $nowdir\\$result[Database].sql \r\n";
  $command .= "echo dumping database `$result[Database]`... \r\n";
}
  $command .= "echo Winrar loading...\r\n";  

$command .= dirname(__FILE__)."\\WinRAR\\WinRAR.exe a -ep1 -r -o+ -m5 -df \"$nowdir.rar\" \"$nowdir\" \r\n";  

$command .= "echo OK!\r\n";  

$command .= "del mysqldumping_temp.bat\r\n";  

$fp = fopen('mysqldumping_temp.bat','w');
fwrite($fp,$command);
fclose($fp);  

//删除 5 天前的文件
@unlink("$store_folder\\".date("Ymd",$time-86400*5).".rar");
?>  

或者用下面的代码:

<?
//保存目录,路径要用反斜杠.您需要手动建立它.
$store_folder = ‘D:\database_backup';
//用户名和密码
//该帐号须有操作[所有]的数据库及FILE的权限
//否则有些数据库不能备份.
$db_username = “root”;
$db_password = “”;
$time=time();
$nowdir = “$store_folder\\”.date(“Ymd”,$time).””;
if(file_exists(“$nowdir.rar”)) die(“File exists.\n”);
@mkdir($nowdir);
mysql_connect(“localhost”,”$db_username”,”$db_password”);
$query=mysql_list_dbs();
while($result=mysql_fetch_array($query)){
system (dirname(__FILE__).'\..\mysql\bin\mysqldump –opt ‘.”$result[Database] -u{$db_username} “.($db_password?”-p{$db_password}”:””).” > $nowdir\\$result[Database].sql”);
echo “dumping database `$result[Database]`…\n”;
}
echo “\nWinrar loading…\n”;
system( dirname(__FILE__).”\\WinRAR\\WinRAR.exe a -ep1 -r -o+ -m5 -df \”$nowdir.rar\” \”$nowdir\” ” );
//删除 5 天前的文件
@unlink(“$store_folder\\”.date(“Ymd”,$time-86400*5).”.rar”);
echo “\nOK!\n”;
?>

5. D:/php 下建立文件 mysql_backup.bat,内容为:

echo off
php.exe mysql_backup.php
if exist mysqldumping_temp.bat call mysqldumping_temp.bat 

6. 双击该 bat 文件运行,如果能备份了,OK,下一步添加任务计划. 
7. 把 D:/php/mysql_backup 添加到任务计划,时间选每天. 根据服务器的监测结果,每天早上 5-8 时为流量低峰期. 由于 5-7 时有些数据库的清理工作,我把时间定在了早上 8 点整.

原作者:faisun 
Website: http://www.softpure.com

(0)

相关推荐

  • Windows2003 下 MySQL 数据库每天自动备份

    终于让服务器每天早上备份一次 MySQL 数据库并自动打包,同时删除 5 天前的备份文件.分享如下: 1. 环境: windows server 2003 + Apache 2.0 + PHP5 + MySQL 4.0.26 . 2. 假设 PHP 安装目录为 D:/php ,MySQL 安装目录为 D:/mysql. 3. 在 D:/php 下建立目录 WinRAR, 把你 winrar 安装目录下的 WinRAR.exe 和 RARReg.KEY 复制到 D:/php/WinRAR . 4.

  • Window系统下自动备份MySql数据库方法

    Window下可以使用Bat批处理文件来对MySql进行备份操作,备份时一般数据量较大的情况可以使用复制文件的方式,但是这种方式要求服务器停机或者停止写入命令,不大使用.如果数据不大,推荐使用mysqldump命令来备份数据库文件为sql文件.使用方法为mysqldump –uroot –ppassword dbname > db_date.sql.编写bat文件,使用window的任务计划来定时执行bat文件就可以实现MySql数据库的定时备份.Bat文件如下: 复制代码 代码如下: [htm

  • 用批处理实现自动备份和清理mysql数据库的代码

    有网友问我在win2003下如何自动备份MySQL数据库,既然是自动备份,那肯定得写脚本.我想了想,这个并不是很困难,是很容易实现的,备份可以用脚本实现,那自动又该如何实现呢?也很简单,就用windows自带的"任务计划"功能,设定一个时间,让系统定时跑脚本,不就实现了自动备份数据库的功能了吗? 不过到现在已经有很多的mysql备份软件,例如我比较喜欢使用的是护卫神的好备份软件. 下载地址:http://www.jb51.net/softs/42944.html 首先把脚本代码贴出来:

  • Mysql自动备份与还原方法

    一.自动备份:将以下代码保存为*.bat批处理脚本,然后再添加Windows定时作业,如每天凌晨2点执行: set s=%date:~0,4%%date:~5,2%%date:~8,2%%time:~1,1%%time:~3,2%%time:~6,2% mysqldump -u root -ppassword databasename > d:\databasename_%s%_bak.sql 说明:databasename 为数据库名 password为数据库密码,系统自动以当前日期时间备份至

  • Windows下实现MySQL自动备份的批处理(复制目录或mysqldump备份)

    今天有个需求要在 Windows 下实现数据库自动备份,拼凑了一下解决办法. 实现的特性 可指定多个数据库 按照 年/月/日 的方式组织备份 可选的使用 WinRAR 压缩备份 使用计划任务实现定时备份 具体代码 备份 复制代码 代码如下: @echo off & setlocal ENABLEEXTENSIONS :: ---------- 配置项 ---------- :: 备份放置的路径,加 \ set BACKUP_PATH=D:\Backup\ :: 要备份的数据库名称,多个用空格分隔

  • MySQL 自动备份与数据库被破坏后的恢复方法第1/2页

    一.前言: 当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小. 或者说,仅仅是数据库服务器的建立,只能说明它能做些什么,并不代表它能稳定的做些什么.灾难恢复的效率及全面性,也是系统的稳定性的一个准因素,尤其对于一个服务器系统. 这一节,介绍数据库自动备份以及数据库被破坏后的恢复的方法.在这里,我们使用mysqlhotcopy,并且定义一段Shell脚本来实现数

  • 实现 win2003 下 mysql 数据库每天自动备份

    1. 环境: windows server 2003 +  PHP5 + MySQL 5.1.6.  2. 假设 PHP 安装目录为 D:/php ,MySQL 安装目录为 D:/mysql.  3. 在 D:/php 下建立目录 WinRAR, 把你 winrar 安装目录下的 WinRAR.exe 和 RARReg.KEY 复制到 D:/php/WinRAR .  4. D:/php 下建立文件 mysql_backup.php: 代码如下: <? //保存目录,路径要用反斜杠.您需要手动建

  • linux实现mysql数据库每天自动备份定时备份

     概述 备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程.而对于一些网站.系统来说,数据库就是一切,所以做好数据库的备份是至关重要的! 备份是什么? 为什么要备份 容灾方案建设 存储介质 光盘 磁带 硬盘 磁盘阵列 DAS:直接附加存储 NAS:网络附加存储 SAN:存储区域网络 云存储 这里主要以本地磁盘为存储介质讲一下计划任务的添加使用,基本的备份脚本,其它存储介质只是介质的访问方式可能不大一样. 1.

  • Windows系统下Oracle数据库每天自动备份

    linux和unix下面使用shell可以很方便实现,如果windows环境下可以结合计划任务实现 1.创建备份目录d:\backup, 创建批处理命令Bak.bat,编写备份脚本 exp user/passwd@orcl DIRECT=Y BUFFER=100000 FILE=D:\backup\scdd%date:~0,10% OWNER=('scdd') LOG=D:\backup\data.log forfiles /p "D:\backup" /s /m *.dmp /d -

  • Linux下MongoDB数据库实现自动备份详解

    本文主要给大家介绍的是关于Linux下MongoDB数据库实现自动备份的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 一.创建MongoDB备份目录 mkdir -p /data/mongodb_bak/mongodb_bak_now mkdir -p /data/mongodb_bak/mongodb_bak_list 二.新建MongoDB数据库备份脚本(/data/mongodb_bak/MongoDB_bak.sh) #!/bin/bash #backup MongoDB

  • Windows服务器下MySql数据库单向主从备份详细实现步骤分享

    一.目的:将主服务器中的MySql数据库同步到从服务器中,使得对主服务器的操作可以即时更新到从服务器,避免主服务器因环境或者网络异常一时无法使用,达到备份效果. 二.环境: 主从服务器操作系统.数据库版本均相同,具体如下: 操作系统:Windows 2003 Server R2 MySql数据库版本:5.0.51b 主服务器(用A代替)IP地址:192.168.4.100 从服务器(用B代替)IP地址:192.168.4.101 三.配置过程: 1.在A创建远程访问备份账户. 在A的MySql数

  • 深入解析Linux下MySQL数据库的备份与还原

    深入解析Linux下MySQL数据库的备份与还原 1. 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [root@localhost mysql]# mysqldump -u root -p voice>voice.sql,输入密码即可. 2. 还原法一:[root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台"mysql>&

  • Ubuntu Server下MySql数据库备份脚本代码

    说明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份. 实现步骤: 1.创建保存备份文件的目录:/home/mysql_datacd /home #进入目录mkdir mysql_data #创建目录2.创建备份脚本文件:/home/mysql_data/

  • Python实现定时备份mysql数据库并把备份数据库邮件发送

    一.先来看备份mysql数据库的命令 mysqldump -u root --password=root --database abcDataBase > c:/abc_backup.sql 二.写Python程序 BackupsDB.py #!/usr/bin/python # -*- coding: UTF-8 -*- ''''' zhouzhongqing 备份数据库 ''' import os import time import sched import smtplib from em

  • shell脚本实现mysql数据库双机定时备份的方法

    目录 1 缘起与目的 2 确认环境 2.1 导出数据库sql脚本 2.2 跨机器拷贝 2.3 docker容器确认环境 3 构建脚本 3.1 脚本内容 3.2 手动执行脚本确认正常 4 定时任务 1 缘起与目的 最近有个需求,要求实现对某个数据库进行双机备份,每天凌晨备份一次,要求主机器只保留最近十五天的记录.经过深思熟虑的研究(疯狂baidu),我们决定用shell脚本加定时任务的方式来实现这个需求. 考虑到有的小伙伴mysql使用docker部署,最后我们也会贴出docker环境下的部署脚本

随机推荐