[英]Backup MySQL db with Coldfusion
我想要做的是在Coldfusion中運行備份任務(可能在計划任務中),它將備份MySql數據庫中的結構和數據。
我使用的托管服務器總是阻止使用cfexecute用於安全目的,所以我不能使用mysqldump。
例如
<cfexecute name="c:\program files\mysql\mysql server 4.1\bin\mysqldump"
arguments="--user=xxx --password=yyy dharma"
outputfile="#expandPath("./ao.sql")#" timeout="30"/>
(來自雷蒙德卡姆登)
我還有其他選擇嗎?
備份數據庫文件是一個好主意,但是如果你將它們備份到同一個驅動器,並且驅動器出現故障,那么你就搞砸了。 我每天將我的數據庫備份到本地系統。 這是我在.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。
這將把DB的副本放在本地系統上 - 然后我使用備份服務將備份備份到另一個異地系統。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.