------------------------------------------------------------
at 01:00 /every:M,T,W,TH,F,SA,SU c:\Backup\backup.bat
at 02:00 /every:M,T,W,TH,F,SA,SU c:\Backup\backup.bat
at 03:00 /every:M,T,W,TH,F,SA,SU c:\Backup\backup.bat
at 04:00 /every:M,T,W,TH,F,SA,SU c:\Backup\backup.bat
at 05:00 /every:M,T,W,TH,F,SA,SU c:\Backup\backup.bat
perlu: gzip.exe utk zip & psftp.exe utk copy ke server lain
script backup.bat:
----------------------------------------------------------
@echo off
rem -- stage = 0
rem -- get last backup date
rem -- if sama then
rem -- get last stage
rem -- call afei dg param stage
set fLastBak="C:\Backup\lastBak.txt"
set fLastStg="C:\Backup\lastStg.txt"
set logfile="C:\Backup\log.txt"
echo.%time% Start >> %logfile%
set sekarang=%date:~10,4%%date:~4,2%%date:~7,2%
if exist %fLastBak% (
rem --baca last bak date
set /p hasil=<%fLastBak%
) else ( set hasil=%sekarang% )
if %sekarang%==%hasil% (
if exist %fLastStg% (
set /p stagenya=<%fLastStg%
) else ( set /a stagenya=0 )
)
echo %hasil% > %fLastBak%
echo %stagenya% > %fLastStg%
rem --utk trace: type %fLastBak%
rem --utk trace: type %fLastStg%
call afei.bat %stagenya%
:end
script afei.bat:
----------------------------------------------------------
@echo off
set logfile="C:\Backup\log.txt"
set file1="C:\Backup\cek1.txt"
set file2="C:\Backup\cek2.txt"
set fLastStg="C:\Backup\lastStg.txt"
echo.%time% Start with stage = %1 >> %logfile%
set /a stagenya="%1"
if %stagenya%==0 goto :stage_0
if %stagenya%==1 goto :stage_1
if %stagenya%==2 goto :stage_2
if %stagenya%==3 goto :stage_3
if %stagenya%==4 goto :stage_4
if %stagenya%==5 goto :stage_5
if %stagenya%==6 goto :stage_6
if %stagenya%==7 goto :stage_7
if %stagenya%==8 goto :stage_8
if %stagenya%==9 goto :stage_9
if %stagenya%==10 goto :stage_10
if %stagenya%==11 goto :stage_11
if %stagenya%==12 goto :stage_12
if %stagenya%==13 goto :stage_13
if %stagenya%==14 goto :stage_14
goto :end
:stage_0
netstat > %file1%
findstr /m "Server-MD:2155" %file1% > nul
if %errorlevel%==0 (
echo.%time% Masih ada yg konek >> %logfile%
goto :end
)
echo.%time% Matikan SqlBase >> %logfile%
sc stop "Centura SQLBase" > nul
sc query "Centura SQLBase" > %file2%
findstr /m "STOPPED" %file2% > nul
if %errorlevel%==0 (
goto :copydbs
)
goto :end
:copydbs
del C:\Backup\DBS\*.* /f /s /q
echo.%time% Mulai copy SqlBase >> %logfile%
set /a stagenya=1
XCOPY C:\SQLBase\[filename].DBS C:\Backup\DBS\[filename] /D /E /C /R /I /K /Y
XCOPY [file] [folder] /D /E /C /R /I /K /Y
echo %stagenya% > %fLastStg%
:stage_1
:stage_2
:stage_3
:stage_4
:stage_5
:stage_6
:stage_7
echo.%time% Selesai copy, start SqlBase >> %logfile%
sc start "Centura SqlBase" > nul
echo.%time% Start ZIP >> %logfile%
del c:\Backup\zips\*.* /f /s /q
set /a stagenya=8
C:\Backup\gzip -c C:\Backup\DBS\[filename] -r -9 > c:\Backup\zips\[filename].gz
echo %stagenya% > %fLastStg%
:stage_8
:stage_9
:stage_10
:stage_11
:stage_12
:stage_13
:stage_14
echo.%time% Start copying zip files... >> %logfile%
set hasil=%date:~0,3%
echo.%time% z:\%hasil% >> %logfile%
if "%hasil%"=="Mon" c:\Backup\psftp [ipserver] -l [username] -pw [password] -P 22 -b c:\Backup\Mon.bat
if "%hasil%"=="Tue" c:\Backup\psftp [ipserver] -l [username] -pw [password] -P 22 -b c:\Backup\Tue.bat
echo.%time% Finished copying zip files... >> %logfile%
:end
--------------------
script Mon.bat
----------------
put c:\backup\zips\[filename].gz /[path to]/Mon/[filename].gz
put c:\backup\zips\[filename2].gz /[path to]/Mon/[filename2].gz
quit
No comments:
Post a Comment