备份网站和 MySQL 数据库的批处理文件
作者:parno 日期:2010-01-13
备份网站和 MySQL 数据库的批处理文件
目的:在指定的目录建立一个以当前日期为名的新文件夹,将 wwwroot 下所有目录和 自动导出的 MySQL 数据库分别压缩到此文件夹中实现备份。
需要修改和设置的地方:MySQL 用户名“mysqluser”、MySQL 密码“mysqlpassword”、建立一个名为“sqldata.txt”的文本文件,存放 MySQL 要备份的 MySQL 数据库名称,一个数据库名一行、WinRAR 压缩程序和相关目录位置。
2011-09-15 在 2011-07-05 的 Update:压缩 MySQL 数据库前停止 MySQL 服务是错误的,这样 mysaldump 将无法连接到数据库。现在更新为添加 -l -q 参数尝试。并且也许使用 7-zip 来压缩更那个,下面是使用 7-zip 压缩的代码。
目的:在指定的目录建立一个以当前日期为名的新文件夹,将 wwwroot 下所有目录和 自动导出的 MySQL 数据库分别压缩到此文件夹中实现备份。
需要修改和设置的地方:MySQL 用户名“mysqluser”、MySQL 密码“mysqlpassword”、建立一个名为“sqldata.txt”的文本文件,存放 MySQL 要备份的 MySQL 数据库名称,一个数据库名一行、WinRAR 压缩程序和相关目录位置。
引用内容
@echo off
echo 备份所有网站...
rem WinRAR 压缩程序的位置
set rarcmd=c:\progra~1\winrar\winrar.exe
rem 网站目录 WWWROOT 位置
set wwwroot=D:\wwwroot\
rem 保存备份文件的文件夹
set backupdir=E:\Backup\www\
rem MySQL 备份命令 mysaldump 的位置
set sqldumpcmd="C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump.exe"
rem MySQL 用户名
set user=mysqluser
rem MySQL 密码
set pass=mysqlpassword
rem 获得当前日期
set today=%date:~0,4%%date:~5,2%%date:~8,2%
rem 建立当前日期为名称的文件夹,用于保存备份文件
md %backupdir%%today%
rem 获得 WWWROOT 目录所有网站文件夹
dir/b %wwwroot% > wwwdata.txt
echo 准备备份的网站已保存为 wwwdata.txt,你可以根据需要编辑此文件...
pause
rem 分别把网站文件夹压缩到备份目录
for /f %%f in (wwwdata.txt) do %rarcmd% a -r -s -m5 -v51200k -vn %backupdir%%today%\%%f.rar %wwwroot%%%f
echo ===============================================
echo 备份所有MySQL数据库...
rem 导出 SQL 数据文件
for /f %%f in (sqldata.txt) do %sqldumpcmd% -u%user% -p%pass% -l -q %%f > %%f.sql
echo 压缩 MySQL 数据库...
for /f %%f in (sqldata.txt) do %rarcmd% u -df -m5 %backupdir%%today%\%%f.mysql.rar %%f.sql
echo 删除为压缩导出的 MySQL 数据库文件...
for /f %%f in (sqldata.txt) do del %%f.sql
rem 清理变量
set rarcmd=
set wwwroot=
set backupdir=
set today=
set sqldumpcmd=
set user=
set pass=
pause
echo 备份所有网站...
rem WinRAR 压缩程序的位置
set rarcmd=c:\progra~1\winrar\winrar.exe
rem 网站目录 WWWROOT 位置
set wwwroot=D:\wwwroot\
rem 保存备份文件的文件夹
set backupdir=E:\Backup\www\
rem MySQL 备份命令 mysaldump 的位置
set sqldumpcmd="C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump.exe"
rem MySQL 用户名
set user=mysqluser
rem MySQL 密码
set pass=mysqlpassword
rem 获得当前日期
set today=%date:~0,4%%date:~5,2%%date:~8,2%
rem 建立当前日期为名称的文件夹,用于保存备份文件
md %backupdir%%today%
rem 获得 WWWROOT 目录所有网站文件夹
dir/b %wwwroot% > wwwdata.txt
echo 准备备份的网站已保存为 wwwdata.txt,你可以根据需要编辑此文件...
pause
rem 分别把网站文件夹压缩到备份目录
for /f %%f in (wwwdata.txt) do %rarcmd% a -r -s -m5 -v51200k -vn %backupdir%%today%\%%f.rar %wwwroot%%%f
echo ===============================================
echo 备份所有MySQL数据库...
rem 导出 SQL 数据文件
for /f %%f in (sqldata.txt) do %sqldumpcmd% -u%user% -p%pass% -l -q %%f > %%f.sql
echo 压缩 MySQL 数据库...
for /f %%f in (sqldata.txt) do %rarcmd% u -df -m5 %backupdir%%today%\%%f.mysql.rar %%f.sql
echo 删除为压缩导出的 MySQL 数据库文件...
for /f %%f in (sqldata.txt) do del %%f.sql
rem 清理变量
set rarcmd=
set wwwroot=
set backupdir=
set today=
set sqldumpcmd=
set user=
set pass=
pause
2011-09-15 在 2011-07-05 的 Update:压缩 MySQL 数据库前停止 MySQL 服务是错误的,这样 mysaldump 将无法连接到数据库。现在更新为添加 -l -q 参数尝试。并且也许使用 7-zip 来压缩更那个,下面是使用 7-zip 压缩的代码。
引用内容
@echo off
echo 备份所有网站...
rem WinRAR 压缩程序的位置
set rarcmd=D:\tools\7-zip\7z.exe
rem 网站目录 WWWROOT 位置
set wwwroot=D:\wwwroot\
rem 保存备份文件的文件夹
set backupdir=E:\Backup\www\
rem MySQL 备份命令 mysaldump 的位置
set sqldumpcmd="C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump.exe"
rem MySQL 用户名
set user=mysqluser
rem MySQL 密码
set pass=mysqlpassword
rem 获得当前日期
set today=%date:~0,4%%date:~5,2%%date:~8,2%
rem 建立当前日期为名称的文件夹,用于保存备份文件
md %backupdir%%today%
rem 获得 WWWROOT 目录所有网站文件夹
dir/b %wwwroot% > wwwdata.txt
echo 准备备份的网站已保存为 wwwdata.txt,你可以根据需要编辑此文件...
pause
rem 分别把网站文件夹压缩到备份目录
for /f %%f in (wwwdata.txt) do %rarcmd% a -r -y -v51200k %backupdir%%today%\%%f.7z %wwwroot%%%f
echo ===============================================
echo 备份所有MySQL数据库...
rem 导出 SQL 数据文件
for /f %%f in (sqldata.txt) do %sqldumpcmd% -u%user% -p%pass% -l -q %%f > %%f.sql
echo 压缩 MySQL 数据库...
for /f %%f in (sqldata.txt) do %rarcmd% a %backupdir%%today%\%%f.mysql.7z %%f.sql
echo 删除为压缩导出的 MySQL 数据库文件...
for /f %%f in (sqldata.txt) do del %%f.sql
rem 清理变量
set rarcmd=
set wwwroot=
set backupdir=
set today=
set sqldumpcmd=
set user=
set pass=
pause
echo 备份所有网站...
rem WinRAR 压缩程序的位置
set rarcmd=D:\tools\7-zip\7z.exe
rem 网站目录 WWWROOT 位置
set wwwroot=D:\wwwroot\
rem 保存备份文件的文件夹
set backupdir=E:\Backup\www\
rem MySQL 备份命令 mysaldump 的位置
set sqldumpcmd="C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqldump.exe"
rem MySQL 用户名
set user=mysqluser
rem MySQL 密码
set pass=mysqlpassword
rem 获得当前日期
set today=%date:~0,4%%date:~5,2%%date:~8,2%
rem 建立当前日期为名称的文件夹,用于保存备份文件
md %backupdir%%today%
rem 获得 WWWROOT 目录所有网站文件夹
dir/b %wwwroot% > wwwdata.txt
echo 准备备份的网站已保存为 wwwdata.txt,你可以根据需要编辑此文件...
pause
rem 分别把网站文件夹压缩到备份目录
for /f %%f in (wwwdata.txt) do %rarcmd% a -r -y -v51200k %backupdir%%today%\%%f.7z %wwwroot%%%f
echo ===============================================
echo 备份所有MySQL数据库...
rem 导出 SQL 数据文件
for /f %%f in (sqldata.txt) do %sqldumpcmd% -u%user% -p%pass% -l -q %%f > %%f.sql
echo 压缩 MySQL 数据库...
for /f %%f in (sqldata.txt) do %rarcmd% a %backupdir%%today%\%%f.mysql.7z %%f.sql
echo 删除为压缩导出的 MySQL 数据库文件...
for /f %%f in (sqldata.txt) do del %%f.sql
rem 清理变量
set rarcmd=
set wwwroot=
set backupdir=
set today=
set sqldumpcmd=
set user=
set pass=
pause
[本日志由 parno 于 2011-09-14 09:27 AM 更新]
上一篇: 淘宝网“返回页面顶部”的连接下一篇: SWFUpload v2 说明文档[中文使用手册]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: BAT 批处理 wwwroot MySQL 备份 mysaldump
相关日志:
评论: 0 | 引用: 0 | 查看次数: 7421
发表评论