Удаление "snccntx". Батник

Дополнение к известному скрипту по рестарту "СлужбаАгентаСервера1С" (САС1С)

Обычный рестарт САС1С не завершает сеансы пользователей.
Танцы с бубнами над временем перезагрузки сиквела, сервера приложения, терминальных станций и временем рестарта САС1С ни к чему не привели.
Помогло только удаление основного кэша баз, а именно папки, содержащей «snccntx».
P.S.
— Изменения между ‘rem //аИзм(‘ и ‘rem //аИзм )’, для наглядности выделил
— Для х86 нужно указывать set «directory=C:Program Files (x86)1cv8srvinfo
eg_1541»
— Сам скрипт немного отличается от оригинального, который представлен в сети с использованием ‘sleep’ + убрал записи в логфайл.
Никто их не читает)))
— описание скрипта
Останавливаем САС1С;
Ищем в указанной директории папку с частью наименования «snccntx».
если она одна — удаляем
если больше, чем одна — не трогаем
если нету — ничего не делаем
если невозможно удалить — типа пишем в лог
Запускаем САС1С

 

@echo off& setlocal
rem \—— начало скрипт остановки и запуска агента сервера 1С Предприятия—-\
set timeout=20
::net stop «1C:Enterprise 8.3 Server Agent»
SC STOP «1C:Enterprise 8.3 Server Agent (x86-64)»
timeout /t %timeout% /nobreak >nul
rem //аИзм (
set «directory=C:Program Files1cv8srvinfo
eg_1541»

set «known_part=snccntx»
rem set «log_file=MyLog.txt»
set n=0
pushd «%directory%»
for /f %%i in (‘2#k8SjZc9Dxk>nul dir/ad/b «*%known_part%*»‘) do (
 set/a n+=1
 call set $%%n%%=%%i
)
popd
rem >>»%log_file%» (
if %n% equ 0 (
 echo %date% %time% Таких папок не найдено.
)
if %n% equ 1 (
 pushd «%directory%»
 2>nul rd/q/s «%$1%»&& (
 echo %date% %time% Удалена папка «%$1%».
 )|| (
 echo %date% %time% Папка «%$1%» найдена, но удалить полностью её не удалось.
 )
 popd
)
if %n% gtr 1 (
 echo %date% %time% Таких папок найдено %n%:
 cmd/v/c «for /l %%i in (1 1 %n%) do @echo !$%%i!»
)
rem )
rem //аИзм )
SC START «1C:Enterprise 8.3 Server Agent (x86-64)»
::net start «1C:Enterprise 8.3 Server Agent»
timeout /t %timeout% /nobreak >nul
rem \—— конец скрипт остановки и запуска агента сервера 1С Предприятия—-\
endlocal& exit/b

 

Отдельное огромное, персональное спасибо форумчанину с ником ‘ComSpec’ с ‘www.cyberforum.ru’ в помощи написания кода.

5 Comments

  1. jobkostya1c8

    Нужно посмотреть. Как-то сами батник в организации писали для перезапуска службы.

    Reply
  2. stavrovich

    Подскажите, почему папки не надо удалять, если их несколько?

    Reply
  3. Tomy82

    (2) stavrovich, патамушта папка, содержащая «snccntx», должна быть одна, если их больше чем одна — что-то пошло не так, и не факт что после удаления она создатся автоматически

    Reply
  4. retker

    Подскажите, у меня был похожий скрипт:

    net stop «1C:Enterprise 8.3 Server Agent (x86-64)»

    ping -n 10 localhost

    cd «E:svrinfo1C83srvinfo
    eg_2541»

    for /D %%i in (snccntx*) do rmdir /s /q %%i

    net start «1C:Enterprise 8.3 Server Agent (x86-64)»

    Раньше когда путь журнала регистрации был стандартный все работало. Но после переноса, путь как в скрипте, snccntx* не чистит файлы, возникают проблемы с повисшими сеансами.

    Ваш скрипт тоже не помог, подскажите, в чем может быть проблемы. У пользователя от которого запускается батник и пользователя от которого запускается служба 1С права админа есть на компьютере и полный доступ к папкам где лежит журнал регистрации тоже есть.

    Reply
  5. Tomy82

    (4) retker,

    Здравия!

    а фиг знает.

    У меня на 2012 винде тоже перестал отрабатывать, проблему пока не ковырял, как наковыряю — обновлю публикацию

    Отрабатывает через ПоверШел

    stop-service ‘1C:Enterprise 8.3 Server Agent (x86-64)’

    Remove-Item «C:Program Files1cv8srvinfo
    eg_1541*» -recurse -exclude 1CV8Clst.lst,1CV8Clsto.lst

    Start-Service ‘1C:Enterprise 8.3 Server Agent (x86-64)’

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *