Вход | Регистрация


1С:Предприятие ::

Метки: 

Обработка с Инфостарта

Я
   Robin iz Robinov
 
28.12.12 - 15:42
Люди добрые помогите может у кого есть

Обработка для формирования скрипта, который в SQL версии 1С блокирует базу и через 5 минут разрывает абсолютно все соединения с ИБ. Просто прописываем скрипт в планировщик и наслаждаемся свежим .dt файлом каждый день.

Автоматический бэкап средствами 1С, который обязательно сделается (без перезапуска сервера).

Она есть на http://infostart.ru/public/65849/
 
 
   zak555
 
1 - 28.12.12 - 15:43
wtyf djghjcf &
   zak555
 
2 - 28.12.12 - 15:43
*цена вопроса ?
   pumbaEO
 
3 - 28.12.12 - 15:44
Выгрузка в dt - не есть бэкап.
   zak555
 
4 - 28.12.12 - 15:45
(3) +1

1с не гарантирует сохранность данных
   vde69
 
5 - 28.12.12 - 15:46
делать бекап DT имея базу SQL - это как минимум мазахизм...

да и 1с рекомендует делать средствами скуля...
   Robin iz Robinov
 
6 - 28.12.12 - 15:47
Может кто подскажет что внутри скрипта интересует

(5)
Это как минимум экономия места!
   Robin iz Robinov
 
7 - 28.12.12 - 15:48
dt весит 700 метров
bak весит 20 гиг
   Alex S D
 
8 - 28.12.12 - 15:49
того. кто тебе скинет обработку забанят там)
   Попытка1С
 
9 - 28.12.12 - 15:49
(7) Архивировать не пробовали?
   le_
 
10 - 28.12.12 - 15:49
(0) Продам стратмани. 1 sm - 7 руб.
 
 Рекламное место пустует
   zak555
 
11 - 28.12.12 - 15:49
(7) прочти ещё раз (4) и подумай о том, что выгрузишь без ошибок, а загрузить не сможешь
   zak555
 
12 - 28.12.12 - 15:49
(8) могу скинуть, но меня там не забанят
   Alex S D
 
13 - 28.12.12 - 15:50
(12) че это
   Robin iz Robinov
 
14 - 28.12.12 - 15:50
есть и dt и bak 

вопрос что там внутри что за скрипт
   Robin iz Robinov
 
15 - 28.12.12 - 15:51
да просто выложи батник что там внутри
   zak555
 
16 - 28.12.12 - 15:51
(13) сикрет=)
   эцп
 
17 - 28.12.12 - 15:51
   Robin iz Robinov
 
18 - 28.12.12 - 15:51
(12)

Сам BAT фаил интересует
   Dedal
 
19 - 28.12.12 - 15:58
dt на скуле, батенька вы мазохист. Сжимайте бекап скуля хоть 7-zip.
12 вообще сам ужимает до приемлемых размеров.
   Robin iz Robinov
 
20 - 28.12.12 - 15:58
Там такое или другое?

"C:\Program Files\1cv8.exe" ENTERPRISE /SSERVER\TEST /N"Автообмен" /P12345 /DisableStartupMessages /C"ЗавершитьРаботуПользователей" /UC"ПакетноеОбновлениеКонфигурацииИБ"
"C:\Program Files\1cv8.exe" config /UC"ПакетноеОбновлениеКонфигурацииИБ" /SSERVER\TEST /N"Автообмен" /P12345 /DumpIB"C:\Temp\TEST_SHR-%Date%.dt" 
"C:\Program Files\1cv8.exe" ENTERPRISE /SSERVER\TEST /N"Автообмен" /P12345 /DisableStartupMessages /C"РазрешитьРаботуПользователей" /UC"ПакетноеОбновлениеКонфигурацииИБ"
   jump if overflow
 
21 - 28.12.12 - 16:00
на юха помогать ленивым одинэсникам . которы не могут создать пару постов  на ИС
   Robin iz Robinov
 
22 - 28.12.12 - 16:01
(21)

Нет у меня творчества описывать что-то
   jump if overflow
 
23 - 28.12.12 - 16:02
вписываясь в чужую карму  нищеброта , вы убиваете собственную, и им становитесь.
   Robin iz Robinov
 
24 - 28.12.12 - 16:04
вот я и говорю нет у меня творчества заумно описывать или что то рассказывать
   Robin iz Robinov
 
25 - 28.12.12 - 16:07
(19)

на сжатие 20 гиг уходит 2 часа
   hhhh
 
26 - 28.12.12 - 16:12
(25) наверно вы по сети смимаете. Сжимайте локально.
   Robin iz Robinov
 
27 - 28.12.12 - 16:14
(26)

локально WinRar (мах) пишет уже 1час
   Dedal
 
28 - 28.12.12 - 16:17
(26) 7-zip 30 минут  на 20 гб. Считаю вполне нормально.
   etc
 
29 - 28.12.12 - 16:20
(0) использую другой подход. Есть база, есть её копия. Скрипт делает бэкап базы и тутже восстанавлиает её в копию. Копия всегда без подключений и соответственно бэкапится в dt на раз.
Результат = волки сыты, овцы целы.
   Robin iz Robinov
 
30 - 28.12.12 - 16:20
Обработка есть у кого, что там внутри?

(28)
Сжал 20% размер 480 мег
   etc
 
31 - 28.12.12 - 16:20
Могу скрипт подбросить.
   Robin iz Robinov
 
32 - 28.12.12 - 16:22
(29)
Если DT не выгрузился упустили день или несколько дней!
Как часто DT выгружается?

(31)

Если он как (20) то не надо
   etc
 
33 - 28.12.12 - 16:23
(0) и вобще, поставь 2008 SQL и жми бэкап средствами SQL-я на лету.
 
 
   Robin iz Robinov
 
34 - 28.12.12 - 16:23
(33) -> (7)
   Конфигуратор1с
 
35 - 28.12.12 - 16:24
(32)Как вариант - хотя меня тут затюкают - УРБД. Делаете центральную базу, в периферии все работают. Раз в час выгрузка дтхи делается. И овцы сыты и волки целы
   Robin iz Robinov
 
36 - 28.12.12 - 16:27
(35)

У меня три уровня баз, обмен и так каждый час идет
   etc
 
37 - 28.12.12 - 16:30
на, наслаждайся:

const vDBName = "***"
const vDBServer = "***"
const vTmpBakFile = "D:\TEMP\tmp.bak" 
const vTmpDBName = "***"
const vTmpDBOwner = "***" 
const v1CServer = "***"
const v1CExe = "\\***\bin\1cv8.exe"
const vRemoteShare = "\\****\****"
const vRemoteUser = "***"
const vRemotePassword = "***"
const vMapDriveName = ""
const vTmpPath = "D:" 

DebugMode = true

set wsn = WScript.CreateObject("WScript.Network")

DebugMsg "Mapping remote share " & vRemoteShare 
MappedDrive = ""
set oDrives = wsn.EnumNetworkDrives
for i = 0 to oDrives.Count - 1 Step 2
    if oDrives.Item(i+1) = vRemoteShare then
        'уже подсоединен
        MappedDrive = oDrives.Item(i)
        exit for
    end if
next

if MappedDrive = "" then 
    wsn.MapNetworkDrive vMapDriveName, vRemoteShare, false, vRemoteUser, vRemotePassword
    MappedDrive = vMapDriveName 
end if

Set fso = CreateObject("Scripting.FileSystemObject")

set sqlConn = CreateObject("ADODB.Connection") 
sqlConn.Provider = "SQLOLEDB"
sqlConn.Properties("Integrated Security").Value = "SSPI"
sqlConn.Properties("Data Source").Value = vDBServer
sqlConn.Properties("Initial Catalog").Value = "master"
sqlConn.CommandTimeout = 20000
sqlConn.Open
if sqlConn.state <> adStateOpen then
    wscript.echo "Не удалось установить соединение с сервером: """ & vDBServer & """"
    set sqlConn = Nothing
    wscript.quit(1)
end if

DebugMsg "Backuping SQL database " & vDBName & " to " & vTmpBakFile & " ..."
sqlConn.Execute("BACKUP DATABASE [" & vDBName & "] TO DISK = '" & vTmpBakFile & "' WITH FORMAT, COMPRESSION")

stMove = ""
set rs = sqlConn.Execute("SELECT name, physical_name FROM [" & vTmpDbName & "].sys.database_files")
do until rs.EOF
    if stMove <> "" then
        stMove = stMove & ","
    end if
    stMove = stMove & " MOVE '" & rs.Fields("name").Value & "' TO '" & rs.Fields("physical_name").Value & "'"
    rs.MoveNext
loop
rs.close
set rs = nothing

DebugMsg "Restoring SQL database to " & vTmpDbName & " ..."    
sqlConn.Execute("RESTORE DATABASE [" & vTmpDbName & "] FROM DISK = '" & vTmpBakFile & "' WITH" & stMove)
sqlConn.Execute("ALTER AUTHORIZATION ON DATABASE::" & vTmpDBName & " TO " & vTmpDBOwner)
sqlConn.Close

if MappedDrive = "" then
    stDTFile = vRemoteShare & "\" & vDBName & ".dt"
else
    stDTFile = MappedDrive & "\" & vDBName & ".dt"
end if
stLogFile = vTmpPath & "\log.txt"

DebugMsg "Backuping 1C database " & vTmpDBName & " to " & stDTFile & " ..."
set oShell = CreateObject("WScript.Shell")
set o1C = oShell.Exec(v1CExe & " DESIGNER /S" & v1CServer & "\" & vTmpDBName & " /DumpIB """ & stDTFile & """ /out """ & stLogFile & """")
Do While o1C.Status = 0
    WScript.Sleep 100
Loop

Set f = fso.OpenTextFile(stLogFile, ForReading)
stText = Trim(f.ReadLine)
f.Close
if stText <> "Выгрузка информационной базы успешно завершена" then
    Set f = fso.OpenTextFile(stLogFile, ForReading)
    stText = Trim(f.ReadAll)
    f.Close
    wscript.echo "Не удалось создать бэкап базы 1С: " & stText
    wscript.quit(2)
end if

DeleteFile stLogFile

wscript.quit()

'---------------------------------------------------------------------------
function DebugMsg(stMessage)
    if DebugMode then
        wscript.echo "Debug: " & stMessage
    end if
end function

'---------------------------------------------------------------------------
Function DeleteFile(stFileName)
    if fso.FileExists(stFileName) then
        fso.DeleteFile(stFileName)
    end if
end function

'---------------------------------------------------------------------------
' Константы для работы с файлами
'---------------------------------------------------------------------------

Const ForReading = 1, ForWriting = 2

'---------------------------------------------------------------------------
' Константы для работы с ADO
'---------------------------------------------------------------------------

Const adStateClosed = 0 'Indicates that the object is closed. 
Const adStateOpen = 1 'Indicates that the object is open. 
Const adStateConnecting = 2 'Indicates that the object is connecting. 
Const adStateExecuting = 4 'Indicates that the object is executing a command. 
Const adStateFetching = 8 'Indicates that the rows of the object are being retrieved.


   Robin iz Robinov
 
38 - 28.12.12 - 16:33
Спасибо буду разбираться!
   etc
 
39 - 28.12.12 - 16:35
Для назойливых поясню почему появилась данная "кривая" по назначению обработка. Люди просили скидывать им бэкап именно в dt и никак иначе так как sql у них нет. Распределенка не устроила.
   Robin iz Robinov
 
40 - 28.12.12 - 16:41
Спасибо!



Список тем форума
Рекламное место пустует Рекламное место пустует
Программист всегда исправляет последнюю ошибку.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует