3 3
userego

Ребут сервера по расписанию с игнорированием всего)

Рекомендуемые сообщения

Сабж - Server 2008 Standart

Нужно заставить его уходить в ребут ночью для успешного создания различных бэкапов, но есть 1С'ники, которые работают специально по ночам, и заметил такую штуку, что иногда не все файловые базы зеркалятся (пробовал через разные программы - Кобиан, Хэнди бэкап, ну и через планировщика).

Есть подозрение, что именно Конфигуратор 1С не даёт планировщику принудительно завершать работу.

Аргумент допилен до идеала (ну, как мне кажется): /r /f /t 120 /d p:0:0 /c "Тут страшный текст о предстоящем завершении"

 

Как заставить сервер всё же делать ребут с принудительным завершением всех процессов без возможности его отменить?

Вариант: попросить 1С'ников, чтобы те закрывали всё своё - не прокатит, это ведь 1С'ники)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возможно стоит ещё и отрубать подключения по rdp на определённый срок, но процессы то останутся открытыми и, как мне кажется, будет такая же беда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 24.01.2019 в 14:59, Песня сказал:

Не переживай, я свои посты не стираю,. Ты уже забыл, что это делаешь ты?:D

Исключительно по твоей просьбе. И без дурацких смайликов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, drovik сказал:

Повесь ардуйну с релюшкой на питание.

:D Тогда я спать не смогу, переживая за железки)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 24.01.2019 в 14:59, Песня сказал:

Не переживай, я свои посты не стираю,. Ты уже забыл, что это делаешь ты?:D

Исключительно по твоей просьбе. И без дурацких смайликов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 24.01.2019 в 14:59, Песня сказал:

Не переживай, я свои посты не стираю,. Ты уже забыл, что это делаешь ты?:D

Исключительно по твоей просьбе. И без дурацких смайликов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, userego сказал:

Сабж - Server 2008 Standart

Нужно заставить его уходить в ребут ночью для успешного создания различных бэкапов, но есть 1С'ники, которые работают специально по ночам, и заметил такую штуку, что иногда не все файловые базы зеркалятся (пробовал через разные программы - Кобиан, Хэнди бэкап, ну и через планировщика).

Есть подозрение, что именно Конфигуратор 1С не даёт планировщику принудительно завершать работу.

Аргумент допилен до идеала (ну, как мне кажется): /r /f /t 120 /d p:0:0 /c "Тут страшный текст о предстоящем завершении"

 

Как заставить сервер всё же делать ребут с принудительным завершением всех процессов без возможности его отменить?

Вариант: попросить 1С'ников, чтобы те закрывали всё своё - не прокатит, это ведь 1С'ники)

а тупо скопировать файл 1CV8.1CD не судьба? а, ну ты ж сисадмин, это не прокатит :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
14 минуты назад, Warlord сказал:

а тупо скопировать файл 1CV8.1CD не судьба? а, ну ты ж сисадмин, это не прокатит :lol:

Зато ты я смотрю не сисадмин, после этого комментария

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А если параметр /t равный нулю поставить? В планировщик вы команду с параметрами прописываете или идёт запуск бат файла по расписанию?

Я на практике вообще перезагружаю сервера и рабочие станции через Kaspersky security center, там можно выставлять параметры принудительного завершения всех сеансов пользователей. Но и через планировщик должно работать по идее. В планировщике также выставьте чтобы запуск задания был от локального администратора а не текущего пользователя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
18 минут назад, trabl сказал:

А если параметр /t равный нулю поставить? В планировщик вы команду с параметрами прописываете или идёт запуск бат файла по расписанию?

аргумент(команда) без батника работает

18 минут назад, trabl сказал:

Я на практике вообще перезагружаю сервера и рабочие станции через Kaspersky security center, там можно выставлять параметры принудительного завершения всех сеансов пользователей. Но и через планировщик должно работать по идее.

 

Не прокатит, т.к. ребутается терминальный сервер, а касперы стоят на локальных машинах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 24.01.2019 в 14:59, Песня сказал:

Не переживай, я свои посты не стираю,. Ты уже забыл, что это делаешь ты?:D

Исключительно по твоей просьбе. И без дурацких смайликов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
15 минут назад, userego сказал:

аргумент(команда) без батника работает

Не прокатит, т.к. ребутается терминальный сервер, а касперы стоят на локальных машинах

Попробуй запускать батник по расписанию из планировщика. Потому как если в планировщик добавлять команду с параметрами, эти параметры при неверном синтаксисе могут не отработать. И чтобы задача от локального админа запускалась, параметр /t поставь 0, плюс добавь ведение лога там же в батнике.

По поводу каспера, то плохо что у вас сервера без антивирусной защиты, на сервера идёт серверный дистрибутив каспера, причём без разницы терминальный это сервер или ещё какой-либо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, userego сказал:

Зато ты я смотрю не сисадмин, после этого комментария

я программист 1С :ph34r:

а что, какие-то трудности с копированием?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Warlord сказал:

я программист 1С :ph34r:

а что, какие-то трудности с копированием?

У меня появились сомнения по поводу твоей проф.пригодности, как программиста 1С)

Дабы дальше не обсуждать ерунду, напомню про использование файла при работе в нём.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, userego сказал:

У меня появились сомнения по поводу твоей проф.пригодности, как программиста 1С)

Дабы дальше не обсуждать ерунду, напомню про использование файла при работе в нём.

какое использование? прекрасно всё копируется "при работе в нём".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, userego сказал:

У меня появились сомнения по поводу твоей проф.пригодности, как программиста 1С)

Дабы дальше не обсуждать ерунду, напомню про использование файла при работе в нём.

а на сомнения твои мне параллельно, зарплату ж не ты мне платишь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, Warlord сказал:

какое использование? прекрасно всё копируется "при работе в нём".

Вот эти Ваши шаманские технологии...

Как скопировать файл базы, в котором работают юзеры? А тем более, в котором открыт конфигуратор?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, userego сказал:

Вот эти Ваши шаманские технологии...

Как скопировать файл базы, в котором работают юзеры? А тем более, в котором открыт конфигуратор?

попробуй robocopy, ну или xcopy хотя бы, если не силён в новых технологиях.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, Warlord сказал:

попробуй robocopy, ну или xcopy хотя бы, если не силён в новых технологиях.

Вот поэтому ты до сих пор и программист 1С)

Зачем мне робокопи, когда используются более "правильные" программы для снятия бэкапов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 минут назад, Warlord сказал:

попробуй robocopy, ну или xcopy хотя бы, если не силён в новых технологиях.

Погоди, или ты мне предлагаешь сначала куда-нибудь копировать файл базы, а потом натравить на него того же кобиана, чтобы сжать, заархивировать и положить дальше на полку?

Я правильно понял тебя?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 24.01.2019 в 14:59, Песня сказал:

Не переживай, я свои посты не стираю,. Ты уже забыл, что это делаешь ты?:D

Исключительно по твоей просьбе. И без дурацких смайликов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, drovik сказал:

Ага. Правильные, но не работающие :D

Погоди, погоди) Жду ответа от Warlord'a, если я его правильно понял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
10 минут назад, userego сказал:

Вот поэтому ты до сих пор и программист 1С)

Зачем мне робокопи, когда используются более "правильные" программы для снятия бэкапов.

 

6 минут назад, userego сказал:

Погоди, или ты мне предлагаешь сначала куда-нибудь копировать файл базы, а потом натравить на него того же кобиана, чтобы сжать, заархивировать и положить дальше на полку?

Я правильно понял тебя?

ну и почему твои "правильные программы" не работают?

вот поэтому я вас, сисодминов, к базам и не подпускаю с вашими "кобианами"-херобианами :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно запретить вход в домен на нужное время и гнать всех из rdp скриптом (чуть поправить нужно будет)

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Скрипт следит за терминальными пользователями и выкидывает их сессии по условиям: '
'    1.По какой-либо причине не произошёл выход из сессии                           '
'    2.Пользователь не закрывает сессию более 8 часов! Просто какой-то кашмар -     '
'      пора домой, а они кричат: "Хлебом не корми - работу давай!"                  '
'               Скрипт написал Анчуров Олег Владимирович в 2013 году.               '
'                     Скрипт взят с сайта: http://ithelp.moy.su '
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

On Error Resume Next
Dim WshShell, WshShell2
Dim objScriptExec, objScriptExec2
Set WshShell = CreateObject("Wscript.Shell")
Set WshShell2 = CreateObject("Wscript.Shell")
Set objScriptExec = WshShell.Exec("qUser.exe")
Dim User, Rdp, Id, Status, OffLine, TDate, TTime
Dim Line, Line2
Dim a, c, t, p, i, Reset
Dim Msg, k

Msg = "ПРОТОКОЛ РАБОТЫ СКРИПТА, АВТОМАТИЧЕСКИ ВЫКИДЫВАЮЩЕГО ПОЛЬЗОВАТЕЛЕЙ ИЗ ТЕРМИНАЛЬНЫХ СЕССИЙ НА ТЕРМИНАЛЬНОМ СЕРВАКЕ:" + chr(13) + chr(10) + chr(13) + chr(10)
k = 0

Do Until objScriptExec.StdOut.AtEndOfStream
    Line = objScriptExec.StdOut.ReadLine
    Line2 = ""
    'Производим перекодировку текста из Dos в ANSI:
    For i = 1 to Len(Line)
        a = Asc(Mid(Line,i,1))
        If a < 128 then Line2 = Line2 + chr(a)
        If a > 127 and a < 176 then Line2 = Line2 + chr(a + 64)
        If a > 175 and a < 224 then Line2 = Line2 + chr(a)
        If a > 223 and a < 240 then Line2 = Line2 + chr(a + 16)
        If a = 240 then Line2 = Line2 + chr(168)
        If a = 241 then Line2 = Line2 + chr(184)
        If a > 241 then Line2 = Line2 + chr(a)
    Next
    Line = Line2
   
    'Разщипляем строку на составляющие
    User = LCase(Trim(Mid(Line, 2, 22)))
    Rdp = LCase(Trim(Mid(Line, 24, 16)))
    Id = LCase(Trim(Mid(Line, 40, 6)))
    Status = LCase(Trim(Mid(Line, 47, 8)))  'Если нужно, то раскоментировать!
    OffLine = LCase(Trim(Mid(Line, 55, 12)))
    TDate = LCase(Trim(Mid(Line, 67, 11)))  'Если нужно, то раскоментировать!
    TTime = LCase(Trim(Mid(Line, 78, 6)))   'Если нужно, то раскоментировать!

    'Первая строка нас не интересует!
    'Переменная Rdp может принимать следующие значения:
    'rdp-tcp#xxx   - стандартный клиент RDP
    'console       - консоль, например из DameWare
    'пустая строка - пользователь отключился некорректно
    If Rdp <> "сеанс" Then
        a = 0
        a = a + InStr(User,"admin1") 'Эту учётку трогать низя!
        'a = a + InStr(User,"admin2") 'Эту учётку трогать низя!
        'a = a + InStr(User,"admin3") 'Эту учётку трогать низя!
        'a = a + InStr(User,"admin4") 'Эту учётку трогать низя!
        'Остальные учётки проверяем дальше...
        If a = 0 then
            c = 0
            t = 0
            p = 0
            If Instr(OffLine,"отсутствует") > 0  then c = c + 1 'Если была закрыта сессия просто крестиком или по какой-либо причине не произошёл выход из системы, то сразу необходимо выкинуть пользователя из сессии!
            'If OffLine = "отсутствует" then c = c + 1 'Если была закрыта сессия просто крестиком или по какой-либо причине не произошёл выход из системы, то сразу необходимо выкинуть пользователя из сессии!
            p = InStr(OffLine,":")
            If p > 0 then
                t = CDbl(Left(OffLine,p - 1))
                If t > 8 then c = c + 1 'Если пользователь не выключает комп на ночь и его сессия простаивает больше 8 часов, то тоже выкидываем из сессии!
            End If
            If c > 0 then        
                Reset = "logoff " & Id 'Команду LogOff можно заменить на Reset Session. Кому что больше подходит.
                Set objScriptExec2 = WshShell2.Exec(Reset)
                Msg = Msg + "Отключен пользователь: " + User + chr(13) + chr(10)
                Msg = Msg + "Значения параметров команды QUser для данного пользователя: " + chr(13) + chr(10)
                Msg = Msg + "     Пользователь: " + User + chr(13) + chr(10)
                Msg = Msg + "    Сеанс:        " + Rdp + chr(13) + chr(10)
                Msg = Msg + "    ID:           " + Id + chr(13) + chr(10)
                Msg = Msg + "    Статус:       " + Status + chr(13) + chr(10)
                Msg = Msg + "    Бездействие:  " + Offline + chr(13) + chr(10)
                Msg = Msg + "    Время входа:  " + TDate + "/" + TTime + chr(13) + chr(10) + chr(13) + chr(10)
                k = k + 1
                WScript.Sleep 3000 'Это время (в млсек) ждёт скрипт, пока будет исполнена команда Logoff. если паузы не делать, то будет отключен только первый пользователь, а остальных проигнорирует!
            End If
        End If
    End If
Loop
Set objScriptExec = Nothing
Set WshShell = Nothing

'If k > 0 then
'    Dim objEmail
'    MSG = MSG + "Всего отключено контактов: " + CStr(k) + chr(13) + chr(10) + chr(13) + chr(10)
'    MSG = MSG + "Время/дата отработки скрипта: " + CStr(Time) + "/" + CStr(Date) + chr(13) + chr(10)
    'WScript.Echo(MSG)
   
'    Const EmailFrom = "[email protected]"         ' от кого будет отправляться e-mail
'    Const EmailPassword = "SuperPassword"       ' пароль от e-mail
'    Const strSmtpServer = "smtp.firma.ru" ' smtp сервер
'    Const EmailTo = "[email protected]"    ' Кому будет отправляться e-mail
'    Set objEmail = CreateObject("CDO.Message")
   
'    objEmail.From = EmailFrom
'    objEmail.To = EmailTo
'    objEmail.Subject = "Отчёт по работе скрипта RDP_Reset" 'Тема письма
'    objEmail.Textbody = MSG
'    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
'    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = EmailFrom
'    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = EmailPassword
'    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSmtpServer
'    objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
'    objEmail.Configuration.Fields.Update
'    objEmail.Send
'    Set objEmail = Nothing
'End If

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 24.01.2019 в 14:59, Песня сказал:

Не переживай, я свои посты не стираю,. Ты уже забыл, что это делаешь ты?:D

Исключительно по твоей просьбе. И без дурацких смайликов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
3 3