Имя: Пароль:
1C
1С v8
Как по ночам народ из баз выгонять?
,
0 Shur1cIT
 
18.07.12
14:10
причём заметил такую вещь что перезагрузка сервера не помогает открываешь а он всёравно висит(((
1 zlnk
 
18.07.12
14:11
из консоли?
2 shuhard
 
18.07.12
14:11
(0) неудачник
3 Крапивница
 
18.07.12
14:12
через администрирование серверов, находишь там сеансы и по одному их выкидываешь
4 Нуф-Нуф
 
18.07.12
14:12
это призрак предыдущего адинеснега
5 Фдулич
 
18.07.12
14:12
кто висит? народ?
6 Shur1cIT
 
18.07.12
14:14
Блин как руками выкинуть я знаю мне автоматом надо)))) батником сервер 1с перезапускал иногда народ остаёться)))
7 n koretsky
 
18.07.12
14:14
О_О
полуночнеги юзвери!
работают 7/24/365
иногда народ остаёться (с)
неубиенные, прям как "иногда они возвращаются"
8 Крапивница
 
18.07.12
14:15
(6) я ж тебе пор руки и говорю
9 n koretsky
 
18.07.12
14:15
прибивай сеансы и соединения в консоли управления сервером.
поставь галку запрета входа в базу. и делай там шохош.
да будет тебе счастье.
10 Shur1cIT
 
18.07.12
14:19
Обясняю ситуацио))) каждую ночь на серваке дераються бекапы, ночью я обычно сплю))) некоторые неродивые юзверя не выходят из 1с вот их перед запуском бекапа надо автоматом срубать, пытался срубать с помощью пуска и остановки сервака, но после перезапуска ервака связь с открытыт клиентом иногда востанавливаеться тоесть он продолжает висеть........
11 Ахиллес
 
18.07.12
14:20
Соединение с агентом сервера (IServerAgentConnection)
TerminateSession (TerminateSession)
Синтаксис:

TerminateSession(<Кластер>, <Сеанс>)
Параметры:

<Кластер> (обязательный)

Тип: Кластер серверов.
Кластер, из которого должен быть удален сеанс. Должен содержать объект, полученный методом GetClusters.
<Сеанс> (обязательный)

Тип: Сеанс.
Сеанс, который должен быть удален. Должен содержать объект, полученный методом GetSessions или GetInfoBaseSessions.
Описание:

Удаляет сеанс. Попытка обращения к кластеру серверов от имени удаленного сеанса вызывает исключение.

Доступность:

Интеграция.

Оно?
12 shuhard
 
18.07.12
14:20
(9)[прибивай сеансы и соединения в консоли управления сервером. ]
ржака
чего только по тупости и лени одинэсники не предложат
13 Shur1cIT
 
18.07.12
14:22
(11) изучаю......  тоесть необходимо создать базу которая будет рубить?
14 aleks-id
 
18.07.12
14:23
>>на серваке дераються бекапы
и чем тебе рабочие юзеры помешали? скуль замечательно делает бэкапы.
или ты DT выгружаешь?
15 Фдулич
 
18.07.12
14:24
неужели  dt?
16 Shur1cIT
 
18.07.12
14:26
(14)  DT  так проще востанавливать так как востановление может быть и в фаловую и в другую версию скуль итд
17 stix2010
 
18.07.12
14:27
(6) если службу перезапускаешь, то в 8.2  валидные сессии на клиентах  живут 20 минут и могут обратно подключится после того как сервер снова станет доступным
18 lordmb
 
18.07.12
14:27
создай регламентное задание, в котором:

ОбработкаБлокировки = Обработки.БлокировкаСоединенийСИнформационнойБазой.Создать();
ОбработкаБлокировки.КодРазрешения = КодРазрешения;
ОбработкаБлокировки.НачалоБлокировки = НачалоБлокировки;
ОбработкаБлокировки.ОкончаниеБлокировки = ОкончаниеБлокировки;
ОбработкаБлокировки.Сообщение = "вон отсюда";
ОбработкаБлокировки.УстановитьБлокировкуСоединений = Истина;
   
ОбработкаБлокировки.УстановитьБлокировку();
19 Kreont
 
18.07.12
14:28
в DT делать архив не рационально, разве только 1 раз в месяц на "всякий случай" :)
20 Tata001
 
18.07.12
14:29
(16) смысл...т.е. бэкап делается 1 раз в сутки ? маловато
21 stix2010
 
18.07.12
14:30
лучше бэкап sql

(19) может ему ТИИ надо запускать
22 aleks-id
 
18.07.12
14:46
(16) это хавно а не бэкапы. и в один прекрасный момент, когда у тебя все накроется медным тазом, ты вспомнишь мои слова...
23 Shur1cIT
 
18.07.12
14:47
(22) почему не бекапы?
24 trambalda
 
18.07.12
14:47
(2) Заржал в голос.
Рыдаю...
25 Bliz
 
18.07.12
14:48
решал такую задачу с помощью AutoIT, с ним знаком?
26 Bliz
 
18.07.12
14:49
если надо могу скинуть готовый скрипт, правда он там сиильно наворочен=) тебе много не надо будет.
27 Bliz
 
18.07.12
14:49
много=многое
28 stix2010
 
18.07.12
14:50
ТС применительно к твоему вопросу разнеси стоп и старт службы на 30 минут, или существуют vbs  скрипты работающие через com connector
29 aleks-id
 
18.07.12
14:53
(23) потому что тыщу раз обсуждали. это не бэкап и даже 1с не гарантирует что из дт-шника развернется нормальная база. только скулевый бэкап. точка.
30 Bliz
 
18.07.12
14:55
А так кури "Средства интеграции и администрирования"-> Менеджер COM-соединений в синтак помощнике
31 LYuri
 
18.07.12
14:55
(29) согласен, но пока что DT не подводил и все архивы развертывались. А если база работает в файловом то тут и вариантов нету
32 aleks-id
 
18.07.12
14:56
(31) если база файловая, то копирование 1CD
33 LYuri
 
18.07.12
14:56
у меня вот такая вот обработочка по регламенту выгоняла всех

Если Найти(СтрокаСоединенияИнформационнойБазы(), "Srvr") > 0 Тогда
   // серверный вариант
   Поиск1 = Найти(СтрокаСоединенияИнформационнойБазы(), "Srvr=");
   ПодстрокаПоиска = Сред(СтрокаСоединенияИнформационнойБазы(), Поиск1 + 6);
   ИмяСервера = Лев(ПодстрокаПоиска, Найти(ПодстрокаПоиска, """") - 1);
   // теперь ищем имя базы
   Поиск1 = Найти(СтрокаСоединенияИнформационнойБазы(), "Ref=");
   ПодстрокаПоиска = Сред(СтрокаСоединенияИнформационнойБазы(), Поиск1 + 5);
   ИмяБазы = Лев(ПодстрокаПоиска, Найти(ПодстрокаПоиска, """") - 1);
   
       Сообщить("Сервер="+ИмяСервера+"; База="+ИмяБазы);
   Иначе
   // для других способов подключения алгоритм не актуален
   Возврат;
   КонецЕсли;

 Коннектор = Новый COMОбъект("v82.COMConnector");
   Агент = Коннектор.ConnectAgent(ИмяСервера);
   Кластеры = Агент.GetClusters();
   
   Для каждого Кластер из Кластеры Цикл
   //АдминистраторКластера = "Имя администратора кластера";
   //ПарольКластера = "Пароль администратора кластера";
   
       Агент.Authenticate(Кластер, ,);
   
       Процессы = Агент.GetWorkingProcesses(Кластер);
       
       Для каждого Процесс из Процессы Цикл
       Порт = Процесс.MainPort;
       // теперь есть адрес и порт для подключения к рабочему процессу
       РабПроц = Коннектор.ConnectWorkingProcess(ИмяСервера + ":" + СтрЗаменить(Порт, Символы.НПП, ""));
       РабПроц.AddAuthentication(,);

       ИнформационнаяБаза = "";

       Базы = Агент.GetInfoBases(Кластер);
       Для каждого База из Базы Цикл
           Если База.Name = ИмяБазы Тогда
               ИнформационнаяБаза = База;
               Прервать;
           КонецЕсли;
       КонецЦикла;
       Если ИнформационнаяБаза = "" Тогда
           // база не найдена
                       Сообщить("База не найдена");
       КонецЕсли;

       Сеансы = Агент.GetInfoBaseSessions(Кластер, ИнформационнаяБаза);
       Для каждого Сеанс из Сеансы Цикл
           Если нРег(Сеанс.AppID) = "backgroundjob" ИЛИ нРег(Сеанс.AppID) = "designer" Тогда
               // если это сеансы конфигуратора или фонового задания, то не отключаем
               Продолжить;
           КонецЕсли;
           Если Сеанс.UserName = ИмяПользователя() Тогда
               // это текущий пользователь
               Продолжить;
           КонецЕсли;
           Агент.TerminateSession(Кластер, Сеанс);
       КонецЦикла;

       СоединенияБазы = Агент.GetInfoBaseConnections(Кластер, ИнформационнаяБаза);
       // Разорвать соединения клиентских приложений.
       Для Каждого Соединение Из СоединенияБазы Цикл
                 Попытка
                       Если нРег(Соединение.Application) = "backgroundjob" ИЛИ нРег(Соединение.Application) = "designer" Тогда
               // если это соединение конфигуратора или фонового задания, то не отключаем
               Продолжить;
           КонецЕсли;
           Если Соединение.UserName = ИмяПользователя() Тогда
               // это текущий пользователь
               Продолжить;
           КонецЕсли;
           РабПроц.Disconnect(Соединение);
       Исключение
                       КонецПопытки;
       КонецЦикла;
   КонецЦикла;
КонецЦикла;

//После дисконнекта пользователей устанавливаем монопольный режим.

Попытка
   УстановитьМонопольныйРежим(Истина);
   Сообщить("Монопольный режим установлен");
Исключение
   Сообщить("Не удалось установить монопольный режим");
КонецПопытки;


//Обработка сделана по материалам статьи с сайта http://infostart.ru/public/77671/
34 aleks-id
 
18.07.12
14:56
ладно, делайте что хотите, ведь это ваши данные а не мои.
35 LYuri
 
18.07.12
14:57
раньше пользовался на 8.1, на 8.2 тоже вроде, но было давно. Можно довести до ума при желании
36 LYuri
 
18.07.12
14:57
(34) уговорил )))
37 aleks-id
 
18.07.12
15:00
38 aleks-id
 
18.07.12
15:02
плюс к этому. бэкап 50-гиговой базы скулем длится 9 минут. выгрузка в ДТ длится 1.5 часа.
загрузка бэкапа скуля в новую базу длится 8 минут, загрузка ДТ в новую базу длится 2.5 часа.
39 Fedot200
 
18.07.12
15:04
(38) Согласен, скуль бэкап рулит!
40 0_Serg_0
 
18.07.12
15:08
(38) зато файловую из ДТ можно себе на локалку кинуть, а с бэкапа тока на серваке
41 aleks-id
 
18.07.12
15:09
(40) это если дт не бит. по ссылкам сходил бы из (37)
42 aleks-id
 
18.07.12
15:11
+(41) и вообще на кой ляд тебе база на локалке? чо - на сервере религия не позволяет работать? ну подними у себя сервер и скуль экспресс.
43 LYuri
 
18.07.12
16:55
(42) вопрос по скулу, експресс лцензия позволяет юзать чтоли легально без покупки?
44 LYuri
 
18.07.12
17:04
+(43) у себя скуль и сервер поднять, как минимум для сервера нужен ключ, если опять же говорить о легальности...
45 kn
 
18.07.12
17:25
закладка
46 fisher
 
18.07.12
17:33
(0) Простейший скрипт (vbs или js к примеру), который стучится по COM к менеджеру кластера и киляет сеансы. А бэкапить надо средствами сиквела. Миллион раз обсасывалось.