загрузка...
Дата публикации: 01.06.2021 10:21:57 |
Рассмотрим пример создания бэкапов скриптами
dim arg, log, sqllog
On Error Resume Next
set con_db =CreateObject("ADODB.Connection")
cCon = "driver={SQL Server}; server=SQL1-RU; uid=sa; pwd=*******; Database=master"
con_db.ConnectionTimeOut=40
con_db.CommandTimeout = 2000
con_db.Open(cCon)
arg = ""
log = ""
sqllog =""
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
arg = objArgs(0)
log = objArgs(1)
Set objTextFile = objFSO.OpenTextFile( log, 8, True)
objTextFile.WriteLine("SQL connect ok.")
objTextFile.WriteLine("Sql command for backup " & arg &" started at " & time )
sqlstr = "BACKUP DATABASE "&CHR(34)&arg&CHR(34)&" TO DISK = 'D:\Backups\ "&arg&".Bak' "
tab = con_db.Execute(sqlstr, sqllog ,adExecuteNoRecords)
objTextFile.WriteLine(" finished at " & time )
if sqllog = "-1" and Err.Number = 0 then
objTextFile.WriteLine(" Status Ok.")
else
objTextFile.WriteLine(" Status Err.")
end if
if Err.Number <> 0 then
objTextFile.WriteLine("error: " & Err.Number & " Description " & Err.Description)
end if
objTextFile.Close
Пример вызова из командного файла
@Echo Off
set day=%DATE:~0,2%
set month=%DATE:~3,2%
set year=%DATE:~6,4%
set hour=%TIME:~0,2%
set minute=%TIME:~3,2%
set dat=%year%-%month%-%day%
set tim=%hour%h.%minute%min
set $DST=D:\Backups
set $logfile="%$DST%\log\BuckupSEDLog%DAT%(%tim%).txt"
set $zipfile="%$DST%\arc\ArhDocOb%DAT%(%tim%).zip"
d:\Backups\Command\sqlbackup.vbs sed %$logfile%
rem rem степень сжатия данных архиватором 7zip (1=самое быстрое архивирование, 5=нормальное сжатие, 9=ультра-сжатие, 0=архивация без сжатия)
Set $COMPR=5
echo %time% started 7-zip >> %$logfile%
"C:\Program Files\7-Zip\7z.exe" a -tzip %$zipfile% %$DST%\sed.Bak -scsWIN -mx=%$COMPR% -ssw >> %$logfile%
echo %time% copy %$zipfile% to RU-055\ArcDocOb >> %$logfile%
copy %$zipfile% \\Путькхранилищу /Y >> %$logfile%
echo %time% End backup procedure. >> %$logfile%
Назад в раздел