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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Widok



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


история изменений - https://nncron.ru/forums/viewforum.php?f=11
форум - https://nncron.ru/forums/
 
архив конференции поддержки: » fido7.ru.nncron
 
скачать: https://nncron.ru/download_ru.shtml - программу, документацию, плагины, скрипты
 
последняя версия:
 
v.1.91 (build 1083) - последний релиз от 21 марта 2006 (+ основные плагины и документация на английском языке)
v.1.93 beta 15 - последняя бета от 15.02.2016
history
 
документация:
 
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 (галочка "Загрузить профиль").
 

Полезные самодельные задачи для сабжа на Ru-Board'е
 
Если хочется в имени задачи поставить пробел, используйте комбинацию Alt+0160, такой пробел принимается.
 
Полезные самодельные задачи для сабжа на оффоруме
 
Актуально!!! Запуск и работа nnCron в Win7 (оффорум)
 
nnCron на GitHub
 
 
предыдущее обсуждение - тут

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 15:38 29-01-2008 | Исправлено: RetroRocket, 07:16 15-10-2024
sundraw

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

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 10:13 17-03-2021 | Исправлено: sundraw, 08:33 11-07-2021
grey109



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, запамятовал: установил nncon v1.93 b15 1177 под Windows Server 2012. Установил как сервис. После загрузки винды не появляется значок nncron-а в панели задач. Появляется только если вручную запустить через пуск "start nncron".
 
Это я где-то накосячил или нужно ставить как приложение? А будет ли тогда в этом работать планировщик, если не выполнять логин в винду?

Всего записей: 174 | Зарегистр. 13-11-2003 | Отправлено: 17:58 16-06-2021
RetroRocket



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
grey109
Цитата:
под Windows Server 2012. Установил как сервис. После загрузки винды не появляется значок nncron-а в панели задач.
Да, так и есть. Сервис nnCron, запущенный от имени "NT AUTHORITY\система", не взаимодействует с пользовательской сессией - не может показывать значок в трее и выдавать окна с запросами.
Для этого нужно запускать nnCron как приложение.
У меня в Win7 nnCron запущен одновременно как приложение и как сервис.
 
Сервис nnCron обслуживает задачи, не взаимодействующие с пользователем и не требующие логона пользователя - синхронизация времени, перезапуск служб по событиям и т.п. Все сообщения выводятся только в лог.
 
Приложение nnCron запускается после логона пользователя и обслуживает задачи, связанные с перехватом окон других приложений, обработкой хоткеев, выдачей запросов и сообщений пользователю.
У каждого из двух процессов nnCron свои файлы логов. А файлы с задачами я сделал общие.
Задачи разделены ключевыми словами ONLY_SYSTEM и ONLY_USER.

----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 2774 | Зарегистр. 02-01-2018 | Отправлено: 18:46 16-06-2021 | Исправлено: RetroRocket, 18:48 16-06-2021
Alexyz21



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

Цитата:
У каждого из двух процессов nnCron свои файлы логов. А файлы с задачами я сделал общие.  Задачи разделены ключевыми словами ONLY_SYSTEM и ONLY_USER.

Живой пример реализации не помешал бы

Всего записей: 3678 | Зарегистр. 16-06-2007 | Отправлено: 23:28 08-07-2021
RetroRocket



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Цитата:
Живой пример реализации не помешал бы
Да не вопрос.
Собирал информацию в этой теме и в темах на профильном форуме.
Всё лежит в c:\Utl\nnCron\ у меня. Версия 1.93b15 Build 1177 (08.02.2016). Редактируем nncron.ini:

Код:
\ смена пути файла once.txt
{{ ONCE-MODULE
: once2.txt S" %ModuleDirName%etc\once_[%USERNAME%].txt" EVAL-SUBST ;
' once2.txt ' once.txt JMP
}}
 
\ смена пути файла taskinfo.txt
: taskinfo2.txt S" %ModuleDirName%etc\taskinfo_[%USERNAME%].txt" EVAL-SUBST ;
' taskinfo2.txt ' taskinfo.txt JMP
 
\ смена пути файла fileinfo.txt
: fileinfo2.txt S" %ModuleDirName%etc\fileinfo_[%USERNAME%].txt" EVAL-SUBST ;
' fileinfo2.txt ' fileinfo.txt JMP
 
\ смена пути файла CronOUT
: CronOUT2 S" nncron_[%USERNAME%].out" EVAL-SUBST ;
' CronOUT2 ' CronOUT JMP
 
\ Cronlog раздельный для сервиса и приложения
Cronlog: "log\%YY%-%MM%-%DD%_[%USERNAME%].log"
LogTimeFormat: "%hh%:%mm%:%ss% [%ThreadId%] [%USERNAME%]"
 
\ удалённая консоль
RemConsole OFF
RemAllowed: 127.0.0.1  
RemDisallowed: *
\ разные порты удаленной консоли для сервиса и для приложения
USERNAME S" SYSTEM" COMPARE 0= USERNAME S" система" COMPARE 0= OR \ если совпало выдаст 0
[IF]
RemConsolePort: 2002 \ порт для сервиса
[ELSE]
RemConsolePort: 2003 \ порт для приложения
[THEN]  
 
\ для Win7
: CRONTAB-ERROR 10 1 DO 100 I 100 * BEEP LOOP ;
: REMINDER-SOUND 500 500 BEEP ;
 
\ объявляем ключевые слова ONLY_SYSTEM и ONLY_USER
: ONLY_SYSTEM USERNAME S" SYSTEM" COMPARE 0= USERNAME S" система" COMPARE 0= OR NOT IF S" NoActive" SFIND DROP EXECUTE THEN ;
: ONLY_USER USERNAME S" SYSTEM" COMPARE 0= USERNAME S" система" COMPARE 0= OR IF S" NoActive" SFIND DROP EXECUTE THEN ;
 
 

Весь файл.
 
Файл shed.tab для примера.  
 
Добавлено:
Отступы в начале строк съел форумный движок.
 
Добавлено:
Да, ещё вот - чтобы версия 1.93b15 всегда выбирала домашний каталог (c:\Utl\nnCron\) как рабочий, нужно создать пустой файл portable рядом с nncron.exe.
 
Добавлено:
Кстати, профильный форум починили в мае. Вот тема там - Запуск и работа nnCron в Win7.
Многие примеры и костыли, описанные до выхода 1.93b15, уже неактуальны.

----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 2774 | Зарегистр. 02-01-2018 | Отправлено: 12:38 09-07-2021
Alexyz21



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

Всего записей: 3678 | Зарегистр. 16-06-2007 | Отправлено: 15:06 09-07-2021 | Исправлено: Alexyz21, 15:15 09-07-2021
sundraw

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!  
Составил следующее сообщение для ежеминутного сканирования системного времени и вывода его в качестве баннера на рабочий стол с нужным форматом и цветом:

Код:
 
#( Time
NoLog
Action:
0xFFFFFF 0x000000 HINT-COLOR
HINT-POS: 1150 150 HINT-SIZE: 200 100
S" Times New Roman" 90 HINT-FONT
THINT: "%hh%:%mm%" 60
)#
 

Здесь в команде THINT: ничего сложного нет. А дальше посложней. Нужно сделать такую же задачу, которая бы считывала IP адрес из дочернего окна работающего браузера и выводила в команду THINT: аналогично времени.
Задача ниже нормально определяет IP, и выносит его с другими данными в лог-файл.  

Код:
 
#( test_for_child_windows
Action:
WIN-EXIST: "*Browser*"
IF
FOR-CHILD-WINDOWS: "*WindowsForms10*"
LOG: "log\nncron.log" "%FOUND-CHILD-WINDOW%"
;FOR-CHILD-WINDOWS
THEN
)#
 

Из всего записанного в лог-файле нужен только IP в формате *.*.*.* И это значение нужно вставить в команду THINT: "........." А лучше, если обойтись без лог-файла.

Всего записей: 849 | Зарегистр. 15-05-2011 | Отправлено: 08:21 11-07-2021 | Исправлено: sundraw, 09:35 11-07-2021
RetroRocket



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Костыль для DNSCrypt:

Код:
#( Shed_DNS_check
\ NoActive
NoLog
SingleInstance
Time: START-TIME
Time: */30 * * * * *
Action:
\ проверка наличия доступа в сеть
HOST-EXIST: "1.1.1.1"
HOST-EXIST: "8.8.8.8" OR
HOST-EXIST: "9.9.9.9" OR
HOST-EXIST: "77.88.8.8" OR
IF
\ проверка разрешения имён
         HOST-EXIST: "google.ru" NOT
         HOST-EXIST: "yandex.ru" NOT AND
         HOST-EXIST: "google.com" NOT AND
         HOST-EXIST: "yandex.com" NOT AND
         IF
             S" DNS failure. Restart dnscrypt-proxy service." CRON-LOG
             START-APP: sc stop "dnscrypt-proxy"
             PAUSE: 30000
             START-APP: sc start "dnscrypt-proxy"
         THEN
ELSE
   \ в оффлайне сервис dnscrypt-proxy начинает долбиться в отключенный сетевой интерфейс после истечения таймаута ожидания сети, который нельзя задать более 1 часа.
   \ нужно рестартовать сервис dnscrypt-proxy раз в час для возобновления ожидания сети.
   S" DNS offline. Restart dnscrypt-proxy service." CRON-LOG
   START-APP: sc stop "dnscrypt-proxy"
   PAUSE: 30000
   START-APP: sc start "dnscrypt-proxy"
THEN
)#

 
У сервиса dnscrypt-proxy есть багофича: при отсутствии сети он ожидает соединения не более 1 часа, после чего таймаут ожидания заканчивается и dnscrypt-proxy безостановочно пытается подключаться к недоступным серверам.
В результате, лог засирается множеством сообщений об ошибках и непрерывно загружается процессор.
 
Вышеприведённая задача nnCron каждые 30 минут рестартует сервис dnscrypt-proxy, если сеть отсутствует.
А при наличии сети задача проверяет возможность разрешения имён сайтов и если проверка неудачна, то так же рестартует сервис.

----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 2774 | Зарегистр. 02-01-2018 | Отправлено: 08:32 06-08-2021 | Исправлено: RetroRocket, 08:35 06-08-2021
Darth_Max

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

Всего записей: 1199 | Зарегистр. 02-10-2014 | Отправлено: 20:23 07-08-2021
RetroRocket



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Darth_Max
Цитата:
Проект мертв?
Исходники автор выложил на гитхаб, но систему сборки бинарников наладить не удалось судя по этому -
 
http://www.nncron.ru/forums/viewtopic.php?f=5&t=13282
 
Сам автор забросил проект. Но хотя бы форум починили в мае этого года. Можно какие-то примеры и решения искать на форуме и адаптировать под свои нужды.

----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 2774 | Зарегистр. 02-01-2018 | Отправлено: 20:39 07-08-2021 | Исправлено: RetroRocket, 20:39 07-08-2021
Darth_Max

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возможно, что у меня испортилась левая кнопка мыши, иногда вместо одинарного клика система реагирует, как на дабл-клик. Но не всегда и не с любой программой, хочу разобраться.
 
Как с помощью nnCron определить дабл-клик левой кнопкой мыши?

Всего записей: 1199 | Зарегистр. 02-10-2014 | Отправлено: 21:18 14-08-2021
RetroRocket



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

Цитата:
Как с помощью nnCron определить дабл-клик левой кнопкой мыши?
Попробуйте примерно так:

Код:
#( CLASSIC-TASK-#-tst_doubleclick_mouse
\ NoActive  
ONLY_USER \ задача для приложения, а не для сервиса.
SingleInstance
Action:
    BEGIN
        VK_LBUTTON KEY-PRESSED? IF \ левая кнопка нажата?
 
         BEGIN
           VK_LBUTTON KEY-PRESSED? NOT \ да, нажата. ждём отпускания.
         UNTIL
 
         PAUSE: 100  
 
            VK_LBUTTON KEY-PRESSED?  IF \ если через 100 мс после отпускания левая кнопка снова нажата, то даблклик.
                  TMSG: "Doubleclick Left Button." 4
 
            THEN
        THEN
 
       PAUSE: 100 \ притормаживаем цикл, чтобы избежать высокой загрузки процессора.
    AGAIN
)#

Предварительно нужно подключить плагин keystate.spf.
Задача первоначально стартует в 00 секунд ближайшей минуты, а затем крутится в бесконечном цикле.
 
Ещё варианты задач с отслеживанием нажатия кнопок мыши можно посмотреть здесь - http://www.nncron.ru/help/RU/add_info/tips_n_tricks.htm#nchittest.

----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 2774 | Зарегистр. 02-01-2018 | Отправлено: 08:15 15-08-2021
grey109



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть Windows Server 2012 и nncron 1.93 beta 15. Два или три месяца работала все как часы, а за это неделю nncron подвел уже два раза - зависает как-то странно, на клик по иконке реагирует, но выбор любых пунктов меню не работает. В логах вижу что задания запускаются, но по факту этого не происходит. Помогает прибить крон и заново запустить. В логах крона ошибок нет, в журналах винды вообще идеально.
 
Что за глюк? Куда хоть копать?
 
Может есть альтернатива планировщика, с возможностями крона, но без проблем работающий по серверной виндой?
 
Добавлено:
Забыл сказать сервер на автопилоте все это время - никаких изменений на нем не происходит.

Всего записей: 174 | Зарегистр. 13-11-2003 | Отправлено: 10:24 24-09-2021
RetroRocket



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
grey109
Цитата:
Что за глюк? Куда хоть копать?
Какой-нибудь антивирус с проактивной защитой установлен?
Возможно, как раз проактивка мешает.
Цитата:
В логах крона ошибок нет
Файлы *.out создаёт nncron?
Если нет, то включите в nncron.ini параметр "Outfile ON". В момент зависания может что-то информативное будет в out-файле.
 


----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 2774 | Зарегистр. 02-01-2018 | Отправлено: 08:05 25-09-2021
grey109



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RetroRocket
Антивируса нет.
 
В out только информация о лицензии и версии крона.

Всего записей: 174 | Зарегистр. 13-11-2003 | Отправлено: 11:46 26-09-2021
ed007



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья, пытаюсь найти прогу, умеющую принимать http get/post запросы и как-то реагировать на них, например посылать код клавиши (цель - вайфай дистанционка. ИК пульт командует esp8266  и та по вайфай посылает команды в по всей сети, управление андроидом работает через таскер, а вот с виндой затык. ) Короче нашел плагин remote.spf но похоже он не пашет с 8 виндой. Порт открывается, но никаких новых триггеров не появляется и на команду 192.168.1.3:2004/command никакой реакции нет, хотя записано

Код:
 #( remote-command
 WatchRemote: "command"
 Action:
  MSG: "word 'command' is received"
  )#

На всякий случай привожу код плагина, может я чего не понял. Или посоветуйте какой иной софт.
 
Подробнее...

Всего записей: 646 | Зарегистр. 17-01-2005 | Отправлено: 00:17 03-04-2022 | Исправлено: ed007, 00:37 03-04-2022
VitRom

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если "ИК пульт", то начать однозначно с WinLIRC

Всего записей: 3110 | Зарегистр. 18-06-2006 | Отправлено: 01:22 03-04-2022
Fenrizz



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

Цитата:
Друзья, пытаюсь найти прогу, умеющую принимать http get/post запросы и как-то реагировать на них, например посылать код клавиши  

Node.js?  
https://nodejs.org/en/knowledge/HTTP/servers/how-to-create-a-HTTP-server/

Всего записей: 690 | Зарегистр. 12-09-2017 | Отправлено: 08:10 03-04-2022
ed007



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fenrizz
Если б я умел писать коды, то несомненно node.js, а может и  powershell
VitRom - winlirc однозначно в конце, ему надо как-то давать команды из http. Я попробовал поставить виртуальный com-порт, слушающий http, но ему требуется не просто get запрос, а ат-команда. Как ее создать из адресной строки браузера - инфы нет, прочие запросы он считает мусором.
Я подумал, может плагин remote.spf требуется как-то доработать, или, например, он требует обязательной авторизации.

Всего записей: 646 | Зарегистр. 17-01-2005 | Отправлено: 09:30 03-04-2022
AlikasS

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ed007
remote.spf  

Цитата:
\ Description:  Listens specified tcp port for incoming user-defined
\               commands and triggers an action, when such a command
\               was received

плагин слушает порт по протоколу tcp .
что бы его использовать тебе нужен TCP Client на ESP8266.

Всего записей: 183 | Зарегистр. 30-11-2009 | Отправлено: 09:46 04-04-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru