![]() |
Перезагрузка при несоответствии файла определенным параметрам
Компьютер радиостанции. Идет эфир. Каждый день в 00:00:01 в папке E\Air\log создается новый файл вида ГГГГ-ММ-ЧЧ.LOG куда прописывается каждый проигранный файл по его завершении. То есть информация о времени последнего изменения файла постоянно меняется каждые 1 - 70 минут (в зависимости от длительности файла или прямого эфира). За долгие года выстроен процесс полной автоматизации, но иногда вылазят непредвиденные ошибки в формировании плейлистов и машина может просто замолкнуть. А так как процесс вещания на 95% автоматизирован и не всегда получается вовремя промониторить эфир, бывали случаи, что радио молчало по пол дня и больше. Проблема ошибок формирования плейлистов решается обычной перезагрузкой. Но существуют несколько процессов, которые винда сама завершить не может и подвисает.
Логика решения этой проблемы у меня выстроилась, но писать скрипты я не умею. И если еще с чем-то простеньким я сумею быстро разобраться, то на такое понадобится много времени. После загрузки винды с задержкой в 10 минут запускается скрипт, который проверяет наличие созданного сегодня лог-файла. При ошибке (файла нет) идет сначала команда на прекращение всех сторонних процессов (как здесь http://forum.oszone.net/post-1888484-3.html), после чего идет команда на перезагрузку ПК. Если файл есть - идет проверка времени создания файла и сравнения его с системным временем. В случае, если время различается более, чем на 70 минут - опять таки идет сначала команда на прекращение всех сторонних процессов (как здесь http://forum.oszone.net/post-1888484-3.html), после чего идет команда на перезагрузку ПК. Если время различается менее, чем на 70 минут - процедура проверки завершается и запускается снова через 20 минут. Вот такая у меня задачка. Может кто помочь в решении этой проблемы? |
Начнём с этого:
Цитата:
|
Цитата:
|
Рекомендую всё-таки:
а) указать название и версию Вашей ОС; б) попросить модераторов перенести тему в раздел, соответствующий ОС, и там решать проблему с поиском данного процесса. По поводу скрипта: в Вашем случае его использование фактически ничем не отличается от применения одной-единственной команды «shutdown.exe /r /f». |
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
На WSH: Используется перезагрузка с принудительным снятием процессов. «WScript.Sleep 10 * 60 * 1000» — «с задержкой в 10 минут». Если в самом скрипте не нужна — закомментируйте или удалите. |
Цитата:
Цитата:
Цитата:
Цитата:
На сколько я понимаю (возможно ошибаюсь, не судите строго), вы в скрипте задаете в условии проверку наличия папки Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Код:
WScript.Sleep 10 * 60 * 1000 |
Понял. Спасибо. Сейчас поставлю на проверку. О результате отпишусь.
|
Цитата:
|
Я понял :-), спасибо.... Сегодня поставлю на отработку, или вечером или завтра отпишусь
|
Видимо делаю что-то абсолютно не так. Не в ту степь полез.
Сохранил ваш код в текстовый файл Akelpadом. Кодировка 1251 ANSI. Сменил расширение на js. При запуске выдает ошибку WSH. Сценарий: F:\reset.js Строка: 1 Символ: 8 Ошибка: Предполагается наличие ";" Код: 800A03EC Источник: Ошибка компиляции Microsoft JScript Сейчас попробовал сменить разрешение на vbs. Ошибки не выдает. Попробую поставить в планировщик |
Цитата:
|
Не сработало. Остановил плейлист в 16-57. Сейчас 18-40. Лог не обновлялся. Проверял. Попытка запустить скрипт вручную тоже не дает результата. Такое впечатление, что он просто не запускается. Никаких сообщений вообще не выдает. В чем у меня может быть загвоздка? Когда пробовал запустить его вручную на другой машине с 7-й х64 - выдало сообщение об отсутствии папки. На этой вообще молчание, как будто ничего не происходит.
Вру. Выдало ошибку. Строка 45 Символ 3 ошибка 0х80041010 код 80041010 Источник (null) |
Цитата:
|
Угу :(. Моя вина. Исправьте «OperatingSystem» на «Win32_OperatingSystem».
|
Все супер. Отработало на 5 балов. Спасибо вам огромное.
|
Время: 01:07. |
Время: 01:07.
© OSzone.net 2001-