备份数据库文件是个好主意,但如果你将它们备份到同一个驱动器上,而驱动器出现故障,你就完蛋了。我每天将我的数据库备份到我的本地系统。这是我在 .bat 文件中使用的脚本
@ECHO OFF
@REM Set dir variables. Use ~1 format in win2k
SET basedir={directory where zip files will be put}
SET workdir={Working directory}
SET mysqldir=c:\PROGRA~1\mysql\mysqls~1.5\bin
SET gzipdir=c:\PROGRA~2\GnuWin32\bin
SET mysqlpassword={db password}
SET mysqluser={db user}
SET host={host IP or domain name}
for /f "tokens=1-4 delims=/ " %%a in ('date/t') do (
set mm=%%a
set dd=%%b
set yy=%%c
)
ECHO Check connection
PING -n 1 %host%|find "Reply from " >NUL
IF NOT ERRORLEVEL 1 goto :SUCCESS
IF ERRORLEVEL 1 goto :END
:SUCCESS
ECHO Connection found, run backup
@REM Change to mysqldir
CD %mysqldir%
@REM dump database. This is all one line
mysqldump -h %host% -u %mysqluser% -p%mysqlpassword% --databases {space delimited list of databases to backup >%workdir%\backup.sql
@REM Change to workdir
CD %workdir%
@REM Zip up database
%gzipdir%\gzip.exe backup.sql
@REM Move to random file name
MOVE backup.sql.gz %basedir%\%yy%_%mm%_%dd%_backup.gz
@REM Change back to base dir
CD %basedir%
:END
ECHO No connection, do not run
我每天晚上都使用 Windows 任务调度程序来运行它。您可能会更新它以删除较旧的备份。
您需要确保已安装 gzip。
这会将数据库的副本放在您的本地系统上 - 然后我使用备份服务将备份备份到另一个异地系统。