Created
April 22, 2011 14:26
-
-
Save Konctantin/936767 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'Begin | |
'Cкрипт (только SQL) отключает всех пользователей от ИБ 1С:Предприятия v8.1. | |
'На сервере подразумевается наличие только одного кластера и только одного рабочего процесса | |
'Далеет срипт производит выгрузку баз и содаёт лог | |
'имя сервера 1С:Предприятия | |
ServerName = "server" | |
'имя базы 1С:Предприятия к которой подключаемся | |
BaseName = "avia8" | |
'Каталог с резервными копиями | |
DrivePatch = "d:\1c" | |
'имя пользователя базы 1С:Предприятия | |
UserName = "SYSTEM" | |
'пароль пользователя базы 1С:Предприятия | |
UserPass = "1cc" | |
'Обновление конфигурации базы данных | |
UpdateDBCfg = "/UpdateDBCfg" | |
'Путь к фалу запуска программы 1С | |
one1CPath = """C:\Program Files\1cv81\bin\1cv8.exe""" | |
'Удаление всех соединений заданной ИБ сервера 1С | |
Dim Connector | |
Dim AgentConnection | |
Dim Cluster | |
Dim WorkingProcess | |
Dim WorkingProcessConnection | |
Dim ibDesc | |
Dim connections | |
Dim ConnectString | |
Set connector = CreateObject("V81.COMConnector") | |
Set AgentConnection = Connector.ConnectAgent(ServerName) | |
Set Cluster = AgentConnection.GetClusters()(0) | |
'Указываем доступ к консоли 1С:Предприятия (только в том случае если определён администратор кластера, иначе прописать просто " " (пробелЫ)) | |
AgentConnection.Authenticate Cluster, " ", " " | |
Set WorkingProcess = AgentConnection.GetWorkingProcesses(Cluster)(0) | |
ConnectString = WorkingProcess.HostName & ":" & WorkingProcess.MainPort | |
Set WorkingProcessConnection = Connector.ConnectWorkingProcess(ConnectString) | |
WorkingProcessConnection.AddAuthentication UserName, UserPass | |
Set ibDesc = WorkingProcessConnection.CreateInfoBaseInfo() | |
ibDesc.Name = BaseName | |
Connections = WorkingProcessConnection.GetInfoBaseConnections(ibDesc) | |
Dim i | |
Dim Connection | |
For i = LBound(Connections) To UBound(Connections) | |
set Connection = connections(i) | |
If (Connection.AppID <> "COMConsole") then | |
WorkingProcessConnection.Disconnect Connection | |
End if | |
Next | |
'Формируется полное имя файлa выгрузки и лога | |
s = FormatDateTime(Date,0) | |
'Путь к файлу выгрузки | |
BackupPath = "/DumpIB " & DrivePatch & "\BACKUP\" & BaseName & "_" & s & ".dt" | |
'Путь к логу | |
LogPath = "/Out " & DrivePatch & "\log\" & BaseName & "_" & s & ".log -NoTruncate" | |
'Параметры запуска базы (SQL) имя кластера\имя базы пользователь пароль | |
Paramters = "DESIGNER /S " & ServerName & "\" & BaseName & " /N " & UserName & " /P " & UserPass & " /DisableStartupMessages" | |
'Set fs = CreateObject("Scripting.FileSystemObject") | |
Set WshShell = CreateObject("WScript.Shell") | |
'Backups | |
WshShell.Run one1CPath & " " & Paramters & " " & BackupPath, 0, True | |
'Запуск обновления конфигурации | |
WshShell.Run one1CPath & " " & Paramters & " " & LogPath & " " & UpdateDBCfg, 0, True | |
'End |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment