使用Bat脚本备份数据库时,出现的问题。望指导
@echooffsetBeforeDays=7setExePath=D:\BakTPCDB\Database\WangShYuY\setDBPath=%ExePath%D...
@echo off
set BeforeDays=7
set ExePath=D:\BakTPCDB\Database\WangShYuY\
set DBPath=%ExePath%Data\
set 下午=12
for /f "tokens=1-3 delims=:. " %%a in ('time /t') do (
if not "%%c"=="" (
set /a h=100%%b%%100+下午,m=%%c
) else set /a h=100%%a%%100,m=%%b
)
set h=0%h%
echo %h:~-2%%m%
set filedate=Bak-%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%h:~-2%%m%
set fileday=Bak-%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
echo 开始备份WebDB%date%%time%>>%ExePath%log.txt
set /a BD=%BeforeDays%+5
dir %DBPath%*.rar /O:-D >%ExePath%DBDirs.txt
for /F "skip=%BD% tokens=4" %%a in (%ExePath%DBDirs.txt) do @if exist %DBPath%%%a del %DBPath%%%a
set /a BD=%BeforeDays%*3+5
dir %FilePath%bak* /O:-D >%ExePath%FileDirs.txt
for /F "skip=%BD% tokens=4" %%a in (%ExePath%FileDirs.txt) do @if exist %FilePath%%%a rd /s /q %FilePath%%%a
::导出数据库数据
exp WebDB/WebDB@WebDB file=%DBPath%JswWeb%filedate%.dmp log=%DBPath%JswWeb%filedate%.log feedback=10000 buffer=524288000
::设置压缩名称
set RarFile=Bak-WebDB
"C:\Program Files (x86)\WinRAR\Rar.exe" a -ag -df %DBPath%%RarFile% %DBPath%*%
fileday%*.dmp %DBPath%*%fileday%*.log
XCOPY /y %DBPath%%RarFile%*.rar \\10.16.5.225\D$\BakJswWeb\DataBase\
IF ERRORLEVEL 1 (ECHO 文件拷贝失败
) Else IF ERRORLEVEL 0 ECHO 成功拷贝文件
del %DBPath%%RarFile%*.rar
echo 拷贝%DBPath%%RarFile%*.rar 至\\10.16.5.225\D$\BakJswWeb\DataBase\ >>%ExePath%log.txt
echo 完成备份jswWebDB%date%%time%>>%ExePath%log.txt
::pause
exit
以上是bat脚本备份的内容。
但是存在这样一个问题,就是直接双击执行bat脚本时,能够备份数据文件、压缩、拷贝到备份服务器上。
使用计划任务后,只能进行到备份数据库。 展开
set BeforeDays=7
set ExePath=D:\BakTPCDB\Database\WangShYuY\
set DBPath=%ExePath%Data\
set 下午=12
for /f "tokens=1-3 delims=:. " %%a in ('time /t') do (
if not "%%c"=="" (
set /a h=100%%b%%100+下午,m=%%c
) else set /a h=100%%a%%100,m=%%b
)
set h=0%h%
echo %h:~-2%%m%
set filedate=Bak-%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%h:~-2%%m%
set fileday=Bak-%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
echo 开始备份WebDB%date%%time%>>%ExePath%log.txt
set /a BD=%BeforeDays%+5
dir %DBPath%*.rar /O:-D >%ExePath%DBDirs.txt
for /F "skip=%BD% tokens=4" %%a in (%ExePath%DBDirs.txt) do @if exist %DBPath%%%a del %DBPath%%%a
set /a BD=%BeforeDays%*3+5
dir %FilePath%bak* /O:-D >%ExePath%FileDirs.txt
for /F "skip=%BD% tokens=4" %%a in (%ExePath%FileDirs.txt) do @if exist %FilePath%%%a rd /s /q %FilePath%%%a
::导出数据库数据
exp WebDB/WebDB@WebDB file=%DBPath%JswWeb%filedate%.dmp log=%DBPath%JswWeb%filedate%.log feedback=10000 buffer=524288000
::设置压缩名称
set RarFile=Bak-WebDB
"C:\Program Files (x86)\WinRAR\Rar.exe" a -ag -df %DBPath%%RarFile% %DBPath%*%
fileday%*.dmp %DBPath%*%fileday%*.log
XCOPY /y %DBPath%%RarFile%*.rar \\10.16.5.225\D$\BakJswWeb\DataBase\
IF ERRORLEVEL 1 (ECHO 文件拷贝失败
) Else IF ERRORLEVEL 0 ECHO 成功拷贝文件
del %DBPath%%RarFile%*.rar
echo 拷贝%DBPath%%RarFile%*.rar 至\\10.16.5.225\D$\BakJswWeb\DataBase\ >>%ExePath%log.txt
echo 完成备份jswWebDB%date%%time%>>%ExePath%log.txt
::pause
exit
以上是bat脚本备份的内容。
但是存在这样一个问题,就是直接双击执行bat脚本时,能够备份数据文件、压缩、拷贝到备份服务器上。
使用计划任务后,只能进行到备份数据库。 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |