Выложил в виду "молодсти и горячести" ХД и критики со стороны, дабы не спотыкаться в дальнейшем =)
Не буду углубляться в подробности почему я сделал так и не воспользовался предложенными вариантами, а начну сразу.
встала потребность корректного и ежедневного копирования базы (судя из поста 1с ников, где говорилось что лучше всего копировать сам CD'шник ибо его проще восстановить), ну и собственно говоря как я его решил.
создал 3 файла bat, которые запускаются через планировщик.
1й файл) Пишет сообщение о том что база будет отключена в такой то промежуток времени;
через 10 минут запускается второй файл
2й файл) Закрывает возможность для подключения через терминал и отключает сессии (для корректного копирования необходимо что бы с базой никто не работал)
опять же промежуток 5-10 минут (для того что бы сессии закрылись)
3й файл) средствами винрар создается с именем даты и времени пакет, разрешает терминальный вход, ну и собственно говоря пишет сообщение о том, что в базе можно работать
любую адекватную критику приму с удовольствием ибо молодой и не опытный =)
ну и собственно текст файлов
1) назовем его к примеру send.bat (первые две строчки можно и не писать, но в этом случае желательно создать этот текс в WordPad и сохранить в кодировке MS_Dos иначе абра кадабра будет)
@echo off
chcp 1251
net send * "Просьба завершить работу в базе 1с8 с 07:30 до 08:00"
2) пусть будет reset.bat - тут уже первой строкой мы запрещаем вход в терминал, а второй строкой закрываем все сесси кроме консоли
change logon /disable
for /f "tokens=1,2,3" %%i in ('query session') do echo "%%i" | find "console" || reset session %%k || reset session %%j
3) Пусть будет copy - вот его я сделал через WordPad и сохранил МС_Дос ибо сообщение он не хотел писать на понятном языке, а выводил абра кадабру, ну и вдруг у кого используются в пути к базе или backup'у русские имена.
1я строка копирует базу в архив с именем даты и времени
2я строка разрешает подключение к терминалам
3я строка пишет что можно работать
"c:\Program Files\WinRAR\WinRAR.exe" a -m2 -ag -dh -r -y -ep1 -x*.md "Куда сохраняем копию\" "откуда копируем\*.*"
change logon /enable
net send * "'В базе можно работать!"
------------------------------------------------------------------------
сильно прошу не пинать а если что не так, то подсказать =)
------------------------------------------------------------------------
ну или вот вариант мне больше нравится.
где CHOICE /T 600 /D y - что то вроде timeout'a который выполняется через 600 секунд, получается 1 батник (только сохранен должен быть обязательно в формате MS_Dos)
net send * "Просьба завершить работу в базе 1с8 с 07:30 до 08:00"
CHOICE /T 600 /D y
change logon /disable
echo y | logoff rdp-tcp
CHOICE /T 120 /D y
"c:\Program Files\WinRAR\WinRAR.exe" a -m2 -ag -dh -r -y -ep1 -x*.md "Путь к бэкапу\_ " "путь к базе\*.*"
change logon /enable
net send * "В базе можно работать!"
Стаття [необходимо зарегистрироваться для просмотра ссылки]
|