Ru-Board.club
← Вернуться в раздел «Программы»

» nnCron-Планировщик с поддержкой скриптового языка

Автор: DJ makrus
Дата сообщения: 12.12.2007 05:06
olegupb
Цитата:
...nnCron не ждет завершения задачи...

1. Исходя из того что показано, непонятно как ты определяешь что nnCron не дождался "завершения задачи"?
2. Ждать он должен не завершение задачи, а завершения процесса "zw.exe".
3. Возможно надо "StartIn: "D:\PROG\SOFTRW"
5. Найди в кронтабе свою задачу и покажи ее от символов #( до символов )#
6. Сколько требуется времени процессу "zw.exe" что бы он "сделал свое дело"?

mistdream
Цитата:
...соединение с инетом было, но вот отослать было невозможно ничего...
это соединение было установлено nnCron'ом?
- Если да, то попробуйте добавть в шапку задачи еще и LoadProfile.
- Если нет, то раньше с подобным сталкивались?
Цитата:
Пришлось отключаться от инета и заходить заново
вы это делали вручную? Как?
Цитата:
...бы в подобных случаях еще принудительно разрывать соединение ...
пожалуйста как можно подробнее опишите эти "подробные случаи".
Если вы вручную разрываете соединение, то nnCron его восстанавливает? Какой задачей пользуетесь?
Автор: olegupb
Дата сообщения: 12.12.2007 09:50
DJ makrus

Цитата:
Ждать он должен не завершение задачи, а завершения процесса "zw.exe"

да, именно процеса zw.exe
Неправильно сказал. Каюсь.

Цитата:
Возможно надо "StartIn: "D:\PROG\SOFTRW"

так и есть. Блин скопировалось не полностью (мистика какая-то)

Цитата:
Найди в кронтабе свою задачу и покажи ее от символов #( до символов )#

это чуть позже. Пока до той машинки доберусь.

Цитата:
Сколько требуется времени процессу "zw.exe" что бы он "сделал свое дело"?

минимум 10-15 секунд, а максимум несколько минут(бывает очень часто).
Автор: LeaF_AVF
Дата сообщения: 12.12.2007 09:55
День добрый!
Никто из форумчан не сталкивался с подобной задачей - мониторить процессы, и если процесс запущен с определенного логического диска - прибивать его?
Автор: DJ makrus
Дата сообщения: 12.12.2007 11:47
olegupb
Хотелось бы услышать ответ и на первый вопрос , возможно (очень вероятно) nnCron все отлавливает, но не делает то что ты от него ожидаешь, потому что ты не объяснил ему чего хочешь..., словами опиши чего пытаешься добиться.

Цитата:
минимум 10-15 секунд, а максимум несколько минут(бывает очень часто).
если работает несколько минут, и запуск задачи указан
Цитата:
...каждую минуту...
то у тебя начнут паралелльно работать несколько экземпляров этой задачи - возможно причина и в этом, добавть в шапку задачи SingleInstance

LeaF_AVF
Цитата:
...мониторить процессы, и если процесс запущен с определенного логического диска - прибивать его?
в принципе в Help'е все необходимое имеется: "Ключевые слова nnCron" --> "Работа с процессами".
При запуске процесса отлавливаешь его, получаешь его PID, по которому узнаешь полный путь исполняемого файла, из которого получаешь первый символ в пути - имя логического диска, если это диск из "черного списка", то убиваешь процесс..., примерно так, пробуй.
Автор: beysik
Дата сообщения: 12.12.2007 11:51
да ушь
Автор: olegupb
Дата сообщения: 12.12.2007 13:35
DJ makrus

Цитата:
1. Исходя из того что показано, непонятно как ты определяешь что nnCron не дождался "завершения задачи"?

Он запускает ее снова когда она еще выполняется.

Цитата:
то у тебя начнут паралелльно работать несколько экземпляров этой задачи

Дык в том то и дело.
Я думал, что не должен запускатся другой екземпляр задачи если не закончился первый.
Выглядит это так:
1. Задача по расписанию должна выполнятся каждую минуту
2. nncron стартует задачу, которая запускает некий процесс в параметром.
3. Процесс длится более чем одна минута
4. nncron не обращает внимания на то, что процесс(задача?) еще не закончился и снова старует задачу, которая запускает снова тотже процесс. Вслед за этим вылезают ошибки которые вызваны одновременным запуском одного исполняемого файла.

Что сделать чтоб такое не происходило?
Подозреваю, что не до конца разобрался з "задачами-процессами".
Автор: DJ makrus
Дата сообщения: 12.12.2007 15:20
olegupb SingleInstance
Автор: olegupb
Дата сообщения: 12.12.2007 15:58
DJ makrus
не надо кричать
так и сделал.
Но поместил в самом конце. Если написать сначала, то не дает перейти на другие вкладки в редактировании задачи.

Цитата:
AsLoggedUser
Action:
StartIn: "D:\PROG\SOFTRW"
ShowNormal NormalPriority
AsService
START-APPW: D:\PROG\SOFTRW\zw.exe D:\PROG\SOFTRW\zw.cfg
SingleInstance

Объясни мне теперь что делает галочка "ожидать завершения"?

Помогите еще создать задачку
есть соединение которое nncron не запускал. Соединение часто вылетает и попытки перезвонить не делает. Нужно за ним следить и при разрыве перезвонить.
Автор: Stygis
Дата сообщения: 12.12.2007 16:31
olegupb

Цитата:
на другие вкладки в редактировании задачи.

Редактируй блокнотом. На вкладки не переходит, потому что это уже не простая задача, на которую рассчитан интерфейс.


Цитата:
Но поместил в самом конце.

В конце она не работает


Цитата:
Объясни мне теперь что делает галочка "ожидать завершения"?

Как это ни странно, ждёт завершения программы и только потом запускает следующую команду.
Автор: olegupb
Дата сообщения: 12.12.2007 16:38
Stygis

Цитата:
В конце она не работает

странно
у меня работает

Цитата:
Как это ни странно, ждёт завершения программы и только потом запускает следующую команду

получается это относится только к командам в пределах одной задачи.
Данная опция не должна ждать завершения целой задачи. Правильно?

Кстати с соединением разобрался.
Автор: LeaF_AVF
Дата сообщения: 12.12.2007 17:55
DJ makrus
Спасибо за подсказку!
Все процессы с полными путями получил с помощью

Цитата:
FOR-PROCS: "*.exe"
MSG: "%FOUND-PID PROC-FULLNAME%"
;FOR-PROCS


Не подскажете, как же теперь выдрать из этой строки первую букву (букву логич. диска) и сравнить ее с шаблоном??

"Мы пойдем другим путем" ©

Не даем пользователю запускать exe-шники из папки Games в рабочее время:


Цитата:
#( utils_stop_games
AsLoggedUser
LoadProfile
Time: */1 * * * 1-5 *
Rule: INTERVAL: 10:00-19:00
Action:
FOR-PROCS: "*games\*\*.exe"
KILL: "%FOUND-PID%"
;FOR-PROCS
)#
Автор: mistdream
Дата сообщения: 12.12.2007 20:12
DJ makrus


Да, это бывало и раньше - работаешь, работаешь в инете, все нормально, а потом перестают загружаться страницы, перестает аська работать. И так пока не установишь соединение заново. Так что nnCron тут не причем. Только вот как можно отследить программно подобную ситуацию?
Автор: olegupb
Дата сообщения: 12.12.2007 22:45
DJ makrus
у меня ситуация такая как и у mistdream, но с одной добавкой. nnCron еще запускает пакетный файл который отсылает мне на почту IP адрес чтоб я мог зайти на свой комп Радмином.
я сначала сделал так

Цитата:
AsLoggedUser
Rule: ONLINE: "domolink" NOT
Action:
RASUser: "username"
RASSecPassword: "password"
DIAL: "domolink" 3 1
StartIn: "D:\BLAT"
START-APPW: D:\BLAT\run.cmd

но если после 3 попыток соединение неудачное, то согласно параметрам задачи все равно выполняется пакетный файл.
DIAL-DLG у меня почему-то выводит окно соединения на экран и ждет нажатия на кнопку "вызов".
Как сделать чтобы пакетник выполнялся только при удачном соединении?

Цитата:
#( test
AsLoggedUser
WatchDisconnect
Action:
TQUERY: "Отключились от Интернета! Подключаемся?" 15 Yes
IF
BEGIN
DIAL-DLG: domolink
UNTIL
THEN
)#

Этот вариант работает, но остается проблема с нажатием на кнопку "вызов"

В идеале было бы так(если можно помогите):
Есть три соединения. Работает одновременно одно.
При разрыве - пробовать каждое по очереди(по несколько раз, например 5) и так до первого удачного. После этого выполнять пакетный файл.
Такая задача была б очень даже кстати. Буду благодарен.
Автор: vovney
Дата сообщения: 13.12.2007 11:47
нужна помощь.

нужно с помощью крона скачать три файла отсюда
ftp://ftp.avp.ru/updates_zip

файлы называются
ftp://downloads1.kaspersky-labs.com/zips/av-i386%26ids-cumul.zip
ftp://downloads1.kaspersky-labs.com/zips/av-i386%26ids-daily.zip
ftp://downloads1.kaspersky-labs.com/zips/av-i386%26ids-weekly.zip

и положить их в локальную папку на компе. все это делается с сервака на вин2003.

инет работает через проксю 192.168.0.1 с авторизацией.

помогите написать скрипт на скачивание? не надо предлагать читать хелп к команде ftp - читал, нифига не понял...

заранее спасибо
Автор: olegupb
Дата сообщения: 13.12.2007 12:13
vovney

Цитата:
нужно с помощью крона скачать три файла отсюда

при чем здесь nncron?
пробуй Wget
Автор: vovney
Дата сообщения: 13.12.2007 12:32
в смысле надо регулярно скачивать все это. ладно, буду читать дальше.
Автор: LeaF_AVF
Дата сообщения: 13.12.2007 12:48
vovney
Попробуй по аналогии с моим скриптом (который естественно периодически запускается кроном), написать свой:
[more]
SET PathWget=%ProgramFiles%\wget
SET PathZip=E:\Open\Update\DrWeb\zip
SET PathBases=E:\Open\Update\DrWeb

SET FTPDrweb=ftp://87.242.72.150/pub/drweb/bases/
SET LogWget="C:\Program Files\nnCron\logs\wget.log"

"%PathWget%\wget.exe" --passive-ftp --no-directories --timestamping --recursive --level=0 --accept=zip --output-file=%LogWget% %FTPDrweb% -P%PathZip%

7z e -y %PathZip%\drwebase.zip -o%PathBases%
7z e -y %PathZip%\drw43*.zip -o%PathBases%
7z e -y %PathZip%\dwn43*.zip -o%PathBases%
7z e -y %PathZip%\drwnasty.zip -o%PathBases%
7z e -y %PathZip%\drwrisky.zip -o%PathBases%
7z e -y %PathZip%\drwtoday.zip -o%PathBases%
7z e -y %PathZip%\dwntoday.zip -o%PathBases%
7z e -y %PathZip%\dwrtoday.zip -o%PathBases%

"%ProgramFiles%\nnBackup\nnBackup.exe" sync -i "%PathBases%" -o "%ProgramFiles%\DrWeb" -m *.vdb

Exit[/more]
Автор: olegupb
Дата сообщения: 13.12.2007 14:25
vovney
заделай себе скриптик, например как у LeaF_AVF и крути его nncron'ом.
Вот и вся задачка.
Автор: mistdream
Дата сообщения: 13.12.2007 18:05
DJ makrus

Соединение восстанавливается не всегда. Проблема возникает в том случае, если не получилось соединиться с первого раза, в этом случае после нескольких попыток вылазит стандартное виндусовое окно с описанием ошибки и кнопкой перезвонить, после этого далее дозвон уже не происходит, а окно так и остается на экране. Надеюсь понятно написала... :-[
Автор: DJ makrus
Дата сообщения: 17.12.2007 11:44
vovney
Цитата:
нужно с помощью крона скачать три файла отсюда ...
возможно то ты пытаешь сделать уже сделано: см. в шапке топика есть ссылка "Полезные самодельные задачи для сабжа" дальше, я думаю, разберешься...
я Касперским не пользуюсь, поэтому сам там смотри то ли и оттуда ли там все качается...

mistdream
Цитата:
Соединение восстанавливается не всегда...
тут я вижу два основных варианта развития исходной задачи:
1. Закрываем это окошко
2. Нажимаем на окошке кнопку "перезвонить"
на мой взгляд первый вариант лучше, но не зависимо от вариантов воспользуйтесь встроенной в nnCron программкой WinSpy (найдете в меню иконки в системном трее) и узнайте заголовок этого окна: поле "Text" второе сверху в WinSpy при наведении мыши на заголовок нужного нам окна. А дальше попробуйте его закрыть с помощью WIN-CLOSE:
надеюсь понятно написал
Автор: SuperKot
Дата сообщения: 21.12.2007 09:49
Создал в nnCron задачу для перегрузки сервера. Сервер не перегружается, при этом выскакивает окно "К серверу могут быть подключены пользователи..." с предложением нажать "Да/Нет". Как заставить nnCron перегрузить сервер, игнорируя появление окна?
Автор: DJ makrus
Дата сообщения: 22.12.2007 08:49
SuperKot
1. Пробовал использовать FORCE-REBOOT?
2. Попробуй nnCron'ом нажать нужную тебе кнопку в этом окошке.
Автор: mistdream
Дата сообщения: 03.01.2008 21:45
DJ makrus


Цитата:
mistdream
Цитата:...соединение с инетом было, но вот отослать было невозможно ничего...

это соединение было установлено nnCron'ом?
- Если да, то попробуйте добавть в шапку задачи еще и LoadProfile.
- Если нет, то раньше с подобным сталкивались?
Цитата:Пришлось отключаться от инета и заходить заново

вы это делали вручную? Как?
Цитата:...бы в подобных случаях еще принудительно разрывать соединение ...

пожалуйста как можно подробнее опишите эти "подробные случаи".
Если вы вручную разрываете соединение, то nnCron его восстанавливает? Какой задачей пользуетесь?




Цитата:
DJ makrus


Да, это бывало и раньше - работаешь, работаешь в инете, все нормально, а потом перестают загружаться страницы, перестает аська работать. И так пока не установишь соединение заново. Так что nnCron тут не причем. Только вот как можно отследить программно подобную ситуацию?


Как данные случаи можно ловить? :-[

Автор: lucky_Luk
Дата сообщения: 06.01.2008 21:32
Как вот это:

[HKEY_CURRENT_USER\Control Panel\Desktop]
"ScreenSaveActive"="0"

прикрутить к nnCron, чтобы он параметру ScreenSaveActive пристваивал значение 0 ?
Автор: unreal666
Дата сообщения: 06.01.2008 22:04
lucky_Luk
REG-SZ: "HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveActive" "0"
(см. в справке Ключевые слова nnCron -> Работа с реестром)
Автор: DJ makrus
Дата сообщения: 08.01.2008 06:58
mistdream
Цитата:
Как данные случаи можно ловить?
А ONLINE? разве не ловит?
Автор: mistdream
Дата сообщения: 08.01.2008 19:42
DJ makrus


Нет... ONLINE срабатывает лишь в момент разрыва соединения. А здесь соединение вроде есть, но либо ничего не шлется, либо ничего не получается...
Автор: temir
Дата сообщения: 08.01.2008 22:10
сорри за офтоп
есть прога которая висит в трее и что бы выйти из этой проги нужно вводить логин и пароль, может ли nnCron это сделать, а затем выключить комп?
Автор: DJ makrus
Дата сообщения: 09.01.2008 05:30
mistdream
Тогда попробуйте проверять доступность каких-нибудь "надежных" серверов (см. HOST-EXIST: )

temir
Пока что не вижу почему не смог бы, см. слова из раздела "Эмуляция ввода с клавиатуры".
Пока что все по теме
Автор: mistdream
Дата сообщения: 12.01.2008 20:43
Возник очередной вопрос... Можно ли средствами nnCron перезагрузить модем D-Link DSL-2500U? Или чем это можно сделать программно?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Как писать кириллицей, а НЕ латиницей (транслитом)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.