Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » nnCron-Планировщик с поддержкой скриптового языка

Модерирует : gyra, Maz

Widok (29-01-2008 15:38): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

   

8AleX8



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nnCron
 
nnCron - это компактный, но мощный планировщик и менеджер автоматизации с собственным скриптовым языком, основанным на синтаксисе языка программирования Форт. Помимо традиционной для планировщика способности запускать в указанное время программы, "напоминалки" и открывать документы ..
 
nnCron способен отслеживать файлы, флаги, окна, процессы, движения мыши, время простоя компьютера, клавиатурные шорткаты, выход в онлайн/оффлайн, появление диска в драйве, наличие хоста в сети (пинг), изменение удаленного ресурса по http-протоколу, количество свободного места на диске, загруженность оперативной памяти и многое другое...
 
nnCron понимает cron-формат (Unix) и управляется с помощью текстовых кронтаб-файлов. Для тех, кто любит работать с GUI есть графическая оболочка из которой можно удалять/добавлять/редактировать и запускать задачи, устанавливать напоминалки, менять настройки программы.  
 
nnCron позволяет использовать в задачах VBScript/JScript, регулярные выражения и расширяется за счет плагинов. Он может быть запущен в качестве службы (сервиса) или как обычное приложение. Обладает средствами удаленного администрирования. Подробнее прочитать о возможностях nnCron вы можете в online-документации.
 
nnCron бесплатен для граждан стран бывшего СССР при условии частного и некоммерческого использования.


история изменений - http://www.nncron.ru/forums/viewforum.php?f=11
форум - http://www.nncron.ru/forums/
 
архив конференции поддержки: » fido7.ru.nncron
 
скачать: http://www.nncron.ru/download_ru.shtml - программу, документацию, плагины, скрипты
 
последняя версия:  
 
v.1.91 (build 1083) - последний релиз от 21 марта 2006 (+ основные плагины и документация на английском языке)  
 
документация:  
 
help_ru.zip  (обновляется регулярно) документация nnCron (на русском языке)
faq_ru.zip nnCron FAQ (на русском языке)  
spf_help.zip (130k  20 Nov 2002)  описание основных слов SP-Forth (на русском языке)  
sf.chm (1.5M  03 Feb 2003)  книга Leo Brodie "Начальный курс программирования на языке Форт" (на русском языке)  
 
полезные ссылки:
* » nnBackup - крошечная (250k) консольная утилита, предназначенная для резервного копирования файлов, синхронизации содержимого каталогов, создания и обработки файл-листов.  
* » Cтатья Валерия Кондакова про возможности nnCron  
* » Канал "nnCron releases" для » WatzNew by 8AleX8
* » Файл расцветки синтаксиса исходников языка Форт и кронтабов nnCron для плагина Colorer (Far Manager)
* » Редактор мелодий для beeper'a под nnCron
Если не работает новая, правильно написанная задача, то попробуйте добавить в опции задачи слово AsLoggedUser (галочка в свойствах новой задачи "Как пользователь, выполнивший login") и, возможно, LoadProfile (галочка "Загрузить профиль").
 

Полезные самодельные задачи для сабжа
 

Всего записей: 1813 | Зарегистр. 11-12-2001 | Отправлено: 23:26 27-04-2002 | Исправлено: lucky_Luk, 18:16 22-09-2007
Nick 2003



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nnCron 1.91 Build 1058 Beta 12

Цитата:
Latest Changes:  
- Memory allocation changed  
- Time of focus stealing by hint window is decreased

http://www.nncron.ru/download/nncron191b12.exe

Всего записей: 13879 | Зарегистр. 18-07-2003 | Отправлено: 07:49 25-07-2005
aezh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
Ситуация: на прокси-сервере (W2K Prof) работает фильтр СПАМА PopFile.  
Чтобы запустить его как сервис воспользовалась советом с сайта-разработчика (SYSANY и INSTSRV), а вот настроить работу этого вновьсозданного сервиса (запускается под аккаунтом System), чтобы работа фильтра (не сервиса) не прекращалась после log-off пользователя (даже с правами администратора) что-то не получается  
 
Вот раздел из реестра HKLM\SYSTEM\cURRENT/CONTROLSET\SERVICES\PopFile\Parametres (все ключи строковые):
Код:
AppDirectory ----> d:\popfile\
Application -----> d:\popfile\wperl.exe
AppParameters -----> popfile.pl
 

, вот параметры задания из nnCron:
Код:
#( PopFile
RunOnce
NoDel
Time: 12 15 27 7 * 2005
Rule: PROC-EXIST: "wperl.exe" NOT
Action:
StartIn: "D:\POPFile"  
ShowNormal   NormalPriority
AsService
START-APP: D:\POPFile\wperl.exe popfile.pl
)#

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

Всего записей: 347 | Зарегистр. 15-09-2004 | Отправлено: 16:49 27-07-2005 | Исправлено: aezh, 11:24 29-07-2005
rosalin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как должна выглядеть задача
 
"Если существует интернет соединение но нет пинга класть трубку "
 
Это нужно потомучто иногда подвисает интернет соединение и нужен переконнект
 
Добавлено:

Код:
#( ping
NoActive
Rule: HOST-EXIST: "www.wplus.ru" NOT
Action:
HANGUP: "WebPlus"  
)#

 
Это не срабатывает

Всего записей: 2584 | Зарегистр. 15-04-2003 | Отправлено: 08:59 28-07-2005
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rosalin
Цитата:
Это не срабатывает
причина думаю в этом:
Цитата:
NoActive
 
 
aezh
попробуй убрать: RunOnce и
Цитата:
Time: 12 15 27 7 * 2005

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 09:44 28-07-2005 | Исправлено: DJ makrus, 10:10 28-07-2005
rosalin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus
нет  NoActive  это мой коментарий отключил задачу  
мне кажеться причина в тайм ауте

Всего записей: 2584 | Зарегистр. 15-04-2003 | Отправлено: 10:55 28-07-2005
aezh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus

Цитата:
попробуй убрать: RunOnce и  
Цитата:
Time: 12 15 27 7 * 2005

Теперь так:
Код:
#( PopFile
User: "XXX" SecPassword: "XXX" Domain: "XXX" LogonNetwork
WatchLogoff: "*"
Rule: PROC-EXIST: "wperl.exe" NOT
Action:
StartIn: "D:\POPFile"  
ShowNormal   NormalPriority
AsService
START-APP: D:\POPFile\wperl.exe popfile.pl
)#

, но все равно не работает, приходиться вручную сервис PopFile перезапускать
 
Как, вообще, задание запускать с правами системной учетной записи при помощи nnCron?

Всего записей: 347 | Зарегистр. 15-09-2004 | Отправлено: 11:01 28-07-2005 | Исправлено: aezh, 11:04 28-07-2005
rosalin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Решил пока потестить вот так
 

Код:
#( test_ping
5000 TO PING-TIMEOUT
Action:
HOST-EXIST: "www.wplus.ru"  
IF  
    HINT-POS: 1450 1145 HINT-SIZE: 90 25
    THINT: "Пингуеться" 3  
 
ELSE  
    HANGUP: "WebPlus"  
THEN  
)#

Всего записей: 2584 | Зарегистр. 15-04-2003 | Отправлено: 11:43 28-07-2005
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rosalin
Цитата:
нет  NoActive  это мой коментарий отключил задачу
ну так поэтому и
Цитата:
Это не срабатывает

Ты бы уточнил что не срабатывает: сама задача или действия в задаче. Что именно не выполняется?
 
Если нет никаких особых причин разрывать именно RAS-соединение "WebPlas", то, IMHO,  лучше
Цитата:
HANGUP: "WebPlus"
заменить на HANGUP. Еще могу посоветовать проверять пинг не по одному хосту, а хотя бы по паре - на тот случай если первый в дауне.
 
aezh
Условие
Цитата:
Rule: PROC-EXIST: "wperl.exe" NOT
перенеси внутрь задачи представив в виде конструкции из IF ... ELSE ... THEN и перед проверкой этого условия добавь паузу секунд на 30 (более точное значение подберешь потом). Твоя задача в ее теперешнем виде может не срабатывать по следующей, IMHO, причине: когда начинается разлогинивание и срабатывает первое условие
Цитата:
WatchLogoff: "*"
то очень возможно, что процесс "wperl.exe" еще не завершился и соответственно второе условие на запуск задачи не возвращает логическую единицу -> задача не запускается.
И посмотри логи: запускается или нет твоя задача.

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 13:56 28-07-2005
rosalin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus

Код:
Time: */5  * * * * *
Rule: ONLINE?  
Action:
HOST-EXIST: "www.wplus.ru"  
IF  
    HINT-POS: 1450 1145 HINT-SIZE: 90 25
    THINT: "Пингуеться" 3  
 
ELSE  
    HANGUP: "WebPlus"  
THEN  

 
Иногда ping из задачи почему то не срабатывает  
хотя реально он есть  
Как лучше отработать эту задачу что бы она не падала
 
И как можно использовать несколько хостов для пинга?

Всего записей: 2584 | Зарегистр. 15-04-2003 | Отправлено: 14:10 28-07-2005
aezh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо,DJ makrus, за поддержку. Вопреки моим ожиданиям, задача запустилась  

Код:
#( PopFile
User: "XXX" SecPassword: "XXX" Domain: "XXX" LogonNetwork
WatchLogoff: "*"
Rule: PROC-EXIST: "wperl.exe" NOT
Action:
StartIn: "D:\POPFile"  
ShowNormal   NormalPriority
AsService
START-APP: D:\POPFile\wperl.exe popfile.pl
)#
 

Правда пришлось добавить:
Код:
#( Stop_PopFile
\ задача запустится и при завершении процесса 'wperl.exe'
WatchProcStop: "wperl.exe"
Action:
StartIn: "D:\POPFile"  
ShowNormal   NormalPriority
AsService
START-APP: D:\POPFile\wperl.exe popfile.pl
)#

И, к сожалению, сервис nnCron не сразу удается перезапустить при удаленном администрировании, сначала возникает ошибка запуска.
Код:
Тип события: Ошибка
Источник события: Service Control Manager
Категория события: Отсутствует
Код события: 7031
Дата: 28.июл.05
Время: 13:13:59
Пользователь: Нет данных
Компьютер:XXX
Описание:
Служба nnCron была неожиданно завершена. Это произошло 3 раз(а). Следующее корректирующее действие будет предпринято через 0 мсек: Нет действия.  
 


Всего записей: 347 | Зарегистр. 15-09-2004 | Отправлено: 14:48 28-07-2005
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rosalin

Цитата:
Иногда ping из задачи почему то не срабатывает  
хотя реально он есть  

 Если канал забит соединениями разных программ (менеджеры закачки и FTP-клиенты поддерживающие многопоточность, тем более клиентны пиринговых сетей), то HOST-EXIST: будет возвращать "0", т. к. ответ от хоста не может "пробиться" за время указанное в переменной PING-TIMEOUT следовательно при наличии хотя бы одного из процессов попадающего в вышеуказанную категорию надо увеличивать PING-TIMEOUT, конкретное значение подбери опытным путем.
 

Цитата:
И как можно использовать несколько хостов для пинга?


Код:
    HOST-EXIST: "www.mail.ru" 0=
    IF
      HOST-EXIST: "www.yandex.ru" 0=  
      IF
        ONLINE?
        IF
          CRONTAB-ERROR
          TQUERY: "Невозможно достучаться ни до www.yandex.ru, ни до www.mail.ru%crlf%Разорвать соединение?!!!" 10 Yes
          IF
            HANGUP
            S" Невозможно достучаться ни до www.yandex.ru, ни до www.mail.ru, поэтому разорвали связь!!!" CRON-LOG
          THEN
        THEN
      THEN
    THEN
 

Хосты подберя для себя как можно ближе (что бы пакет проходил через как можно меншьшее кол-во узлов)

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 14:53 28-07-2005
rosalin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus
 
А куда лучше твой кусок кода вставить  
 

Код:
#( test_ping
5000 TO PING-TIMEOUT
Time: */5  * * * * *
Rule: ONLINE?  
 
Action:
HOST-EXIST: "www.wplus.ru"  
IF  
    HINT-POS: 1450 1145 HINT-SIZE: 90 25
    THINT: "Пингуеться" 3  
 
ELSE  
    HANGUP: "WebPlus"  
THEN  
)#

 
 
Добавлено:
DJ makrus
И еще один вопрос возможно у меня возникнет ситуация что перестанет пинговаться локальная сеть  
тогда нужна будет перезагрузка  
как это реализовать
 
Все вместе !!!

Всего записей: 2584 | Зарегистр. 15-04-2003 | Отправлено: 15:20 28-07-2005
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aezh
Цитата:
Правда пришлось добавить:
а надо, IMHO, заменить, т. к. вторая задача делает то же самое что и первая, но условия запуска у нее лучше...
 
rosalin
  Лучше не вставить мой, а привести свой к тому же алгоритму, т. е.
существует 1-ый хост? если да, то завершаем задачу, если нет, то проверяем существует ли второй хост, если да то завершаем задачу, если нет, то оповещаем об отсутствии пинга и рвем связь.
  Если же вставлять, то вставить вместо:
Код:
HOST-EXIST: "www.wplus.ru"  
IF  
...  
THEN  
 

 

Цитата:
...возникнет ситуация что перестанет пинговаться локальная сеть  
тогда нужна будет перезагрузка...
 
ну если перезагрузка компа, то см. REBOOT и FORCE-REBOOT

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 22:01 28-07-2005
aezh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А все же, все не так хорошо, как мне показалось  
Запуск задачи:
Код:
#( PopFile
User: "ХХХ" SecPassword: "XXX" Domain: "XXX" LogonNetwork
WatchLogoff: "*"
Rule: PROC-EXIST: "wperl.exe" NOT
Action:
StartIn: "D:\POPFile"  
ShowNormal   NormalPriority
AsService
START-APP: D:\POPFile\wperl.exe popfile.pl
)#
как будто бы срабатывате, или что означает строчка в лог-файле
Цитата:
Start result: 1349
Но, видимо, из-за запуска
Цитата:
D:\POPFile\wperl.exe popfile.pl
необходимый сервис PopFile не запускается Поэтому вопрос: как запустить сервис Windows? NETSVC.EXE что ли?

Всего записей: 347 | Зарегистр. 15-09-2004 | Отправлено: 10:41 29-07-2005
BOObastis



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ребята, уже целый день бьюся, но таки ничего не добился.
Задачка, вроде простая, но у меня не ничего не получается.
Задача: Выводить HINT каждые 45 минут, с момента старта крона (или logon). Не каджые 45 минут часа, а именно с момента старта крона (или logon).
И еще, в help файле не нашел никакого упоминания об операторах цикла (for, while) крон их поддерживает?

Всего записей: 242 | Зарегистр. 17-05-2004 | Отправлено: 11:25 29-07-2005
aezh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DJ makrus

Цитата:
Условие
Цитата:
Rule: PROC-EXIST: "wperl.exe" NOT  
перенеси внутрь задачи представив в виде конструкции из IF ... ELSE ... THEN и перед проверкой этого условия добавь паузу секунд на 30 (более точное значение подберешь потом). Твоя задача в ее теперешнем виде может не срабатывать по следующей, IMHO, причине: когда начинается разлогинивание и срабатывает первое условие
Цитата:
WatchLogoff: "*"  
то очень возможно, что процесс "wperl.exe" еще не завершился и соответственно второе условие на запуск задачи не возвращает логическую единицу -> задача не запускается.  
И посмотри логи: запускается или нет твоя задача.

Извиняюсь за тупое приставание, но это подразумевается:
Код:
 
#( Stop_PopFile
WatchLogoff
Action:
PAUSE: 30000
IF PROC-EXIST: "wperl.exe" NOT
THEN
ShowNormal   NormalPriority
START-APP: C:\WINNT\System32\netsvc.exe \\ХХХ PopFile /start
)#

Не понятно, что написать в конструкции после ELSE
Прошу извинить за тупость, в хелпе как-то не освещен вопрос.
 
--------------Добавлено--------------
Вот так, вроде бы, работает:
Код:
#( Stop_PopFile
WatchLogoff
Action:
PAUSE: 30000
IF PROC-EXIST: "wperl.exe" NOT
ELSE MSG: "Not stopped wperl.exe"
THEN START-APP: C:\WINNT\System32\netsvc.exe \\ХХХ PopFile /start
)#
 

Но после ELSE можно было и ничего не писать?

Всего записей: 347 | Зарегистр. 15-09-2004 | Отправлено: 14:46 29-07-2005 | Исправлено: aezh, 15:20 29-07-2005
BOObastis



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Спасибо уже не надо сам разобрался.

Всего записей: 242 | Зарегистр. 17-05-2004 | Отправлено: 03:07 30-07-2005
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BOObastis, aezh - извиняйте, но сейчас нет времени (до воскресенья), если к тому времени вам здесь или в другом месте не ответят, то чем смогу - помогу.

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 03:21 30-07-2005
DJ makrus

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aezh

Цитата:
Не понятно, что написать в конструкции после ELSE  
Прошу извинить за тупость, в хелпе как-то не освещен вопрос

Вы не правы, хелп не идеален, но ВСЕ основные вопросы объяснены и показаны на примерах..., надо только найти время, сесть и прочитать ВЕСЬ хелп. Ну, а пока не прочли его пользуйтесь в нем поиском (и не только в нем ). Хелп это второе за что мы должны благодарить разработчиков nnCron'а, первое это сам nnCron
 

Цитата:
Вот так, вроде бы, работает:
...
не забываем про постфиксную нотацию в Форте:

Код:
#( Stop_PopFile  
WatchLogoff  
Action:  
PAUSE: 30000
PROC-EXIST: "wperl.exe" 0=     \ NOT эквивалент 0=, но рекомендуется 0=
IF                                            \ если процесс wperl.exe отсутствует, то запускаем его
   START-APP: C:\WINNT\System32\netsvc.exe \\ХХХ PopFile /start  
ELSE                                        \ если присутствует, то сообщаем об этом
  MSG: "Not stopped wperl.exe"  
THEN
)#

 

Цитата:
Но после ELSE можно было и ничего не писать?
совершенно верно, я привел полную форму операторов условия, т. е. две стороки из моего примера:
Код:
ELSE                                        \ если присутствует, то сообщаем об этом
  MSG: "Not stopped wperl.exe"  
 
можно удалить.
И еще,IMHO, строку
Код:
WatchLogoff
лучше заменить на
Код:
WatchProcStop: "wperl.exe"
тогда процесс будет перезапускаться не только при выходе пользователя, но и в случае закрытия по каким-либо другим причинам (в том числе и закрытия самим пользователем, если это исключено, то смело меняйте)

Всего записей: 529 | Зарегистр. 25-03-2004 | Отправлено: 06:19 31-07-2005
BOObastis



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я конечно дико извиняюсь, но почему не работает такая конструкция:  

Код:
 
VARIABLE I_lamo
Action:
    3 I_lamo !
    THINT: "Мда..." I_lamo @  

ни в таком варианте:  

Код:
 
VARIABLE I_lamo
Action:
    3 I_lamo !
    THINT: "Мда..." "%I_lamo @%"  

 
Задача: выводить хинт, на время, которое записывается и извлекается из переменной I_lamo
 
 
Добавлено:
DJ makrus
А стараюсь прежде чем задавать вопросы, прочитать help
Но после работы с др. языками форт меня просто убивает.
nnCron - это первая программа, которую я ставлю после переустановки системы, многие задачи  реализованны его средствами.

Всего записей: 242 | Зарегистр. 17-05-2004 | Отправлено: 02:43 01-08-2005
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » nnCron-Планировщик с поддержкой скриптового языка
Widok (29-01-2008 15:38): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru