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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Stygis

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WolfEnstein
Проверь работу задачи на каком-нибудь простом каталоге для начала (что-нить типа C:\1)  - будет ли работать? О результатах сообщи.

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 17:20 03-08-2006
unreal666



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

Цитата:
делал по аналогии с очисткой папки TEMP описанной в хелпе.

Плохо значит смотрел.
Нужно так
PURGE-OLD: "F:\MDaemon\Public Folders\Mail Archive.IMAP\Inbound to.IMAP\Postmaster@prolog.kiev.ua.IMAP\*" 1

----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 18:15 03-08-2006 | Исправлено: unreal666, 18:17 03-08-2006
ALEF



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

Цитата:
Походу WatchWinCreate отлавливает только родительские окна

ну так значит нужно ловить родительское окно, а где оно, какое оно?

Цитата:
WatchCreate тоже не подхватывает?

Да, тоже не срабатывает

Всего записей: 1002 | Зарегистр. 03-11-2003 | Отправлено: 11:49 04-08-2006
Stygis

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

Цитата:
родительское окно

Подозреваю, что родитель для Run'а - explorer Так что фиг ты его отловишь.
 
ЗЫ. Для чего тебе Run надо отловить? Может другой способ найти решение?

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 14:03 04-08-2006
Dimanish

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
3 вопроса:
1. Как узнать выполнилась ли задача успешно?
2. Что означает строка Start result: 0 в лог-файле?
3. Что такое идентификатор нити процесса?

Всего записей: 133 | Зарегистр. 04-02-2005 | Отправлено: 13:16 05-08-2006
Stygis

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
All
Никто не озадачивлся запуском задачи, например, каждые два часа. При этом Time: 0 */2... не подходит, т.к. если я запущу комп в 1:59, то задача выполнится только в 2:00 (если RunMissed не было) или выполнится в 1:59 (если RunMissed было) и в 2:00. А необходимо, чтобы выполнилось в 1:59, 3:59, 5:59 и т.д. Ставить в задаче PAUSE: 7200000 ой как некрасиво
 
Dimanish
1. Что ты понимаешь под успешным выполнением? Все слова выполнились или еще что-то?
2. В принципе 0 - это истина, так что, наверное, Start result: 0 означает успешное выполнение задачи, т.е. nnCron выполнил все слова задачи.
 
Добавлено:
3. Нить - это ты, наверное, про Thread? Вот тебе небольшое определение:

Цитата:
поток (нить) Последовательно выполняемый фрагмент программы. Процесс может иметь несколько потоков (нитей), выполняющихся одновременно, каждый из которых выполняет свою задачу. Если поток заканчивает выполнение своей задачи, он откладывается или уничтожается.

Что такое идентификатор, наверное, объяснять не надо?
Кстати, а зачем тебе это?
ЗЫ. Всегда больше любил название поток, или вообще так и называл - тред

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 02:52 06-08-2006 | Исправлено: Stygis, 02:53 06-08-2006
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Stygis
 
Задумываться не задумывался, но сейчас посмотрел в справке - там есть описание этой фигни.
Делается так:
Time: ? */2 * * * *
Вопросительные знаки означает время старта nnCon, , т.е. при обработке поля знак вопроса будет заменен на время старта nnCron: минуты - для поля минут, час для поля часов, день месяца для поля дней месяца и месяц для поля месяца.
 
Находится описание здесь: Справка - Работа с программой - Cron-формат
Или в Инете http://nncron.ru/help/RU/working/cron-format.htm#STARTTIME

----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 03:15 06-08-2006 | Исправлено: unreal666, 03:16 06-08-2006
ALEF



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не понимаю как в форте работать со строками.
Код:
CREATE str_time 256 ALLOT
Action:
MSG: "Сервер упал и был остановлен %crlf% %DD%.%MM%.%YYYY% в %hh%:%mm%:%ss%"
S" Сервер упал и был остановлен %crlf% %DD%.%MM%.%YYYY% в %hh%:%mm%:%ss%" str_time PLACE
TMSG: "%str_time COUNT%" 50

Команда MSG выдает строку как надо:
Код:
Сервер упал и был остановлен
 06.08.2006 в 09:31:28
а команда TMSG выдает сохраненную строку без подстановки дат:
Код:
Сервер упал и был остановлен %crlf% %DD%.%MM%.%YYYY% в %hh%:%mm%:%ss%



----------
Аникей - не очень старое русское имя.

Всего записей: 1002 | Зарегистр. 03-11-2003 | Отправлено: 10:36 06-08-2006
Stygis

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666
О, буду пробовать, просмотрел Спс
 
ALEF
Ну дык, эксперимент-то не чистый MSG: не через строку, а TMSG: через строку... А так  TMSG тоже работает

Код:
TMSG: "Сервер упал и был остановлен %crlf% %DD%.%MM%.%YYYY% в %hh%:%mm%:%ss%"

А тебе надо вот:

Код:
S" Сервер упал и был остановлен %crlf% %DD%.%MM%.%YYYY% в %hh%:%mm%:%ss%" EVAL-SUBST str_time PLACE
TMSG: "%str_time COUNT%" 50


Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 11:50 06-08-2006
Dimanish

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

Цитата:
 1. Что ты понимаешь под успешным выполнением?  Все слова выполнились или еще что-то?  

Второй пункт ответил на мой 1-ый вопрос --->

Цитата:
 2. В принципе 0 - это истина, так что, наверное, Start result: 0 означает успешное выполнение задачи, т.е. nnCron выполнил все слова задачи.

 

Цитата:
3. Нить - это ты, наверное, про Thread? Вот тебе небольшое определение:

поток (нить) Последовательно выполняемый фрагмент программы. Процесс может иметь несколько потоков (нитей), выполняющихся одновременно, каждый из которых выполняет свою задачу. Если поток заканчивает выполнение своей задачи, он откладывается или уничтожается.

Цитата:
Кстати, а зачем тебе это?

В справке к nnCron в разделе "Работа с программой" -> "Настройка nnCron" -> Закладка "Основные", "Формат лога" написано:

Цитата:
%DD% %MMM% %hh%:%mm%:%ss% %ThreadId%
Мне, например, удобно, чтобы каждая запись в лог-файле предварялась текущей датой, временем и идентификатором нити процесса:  
Вот как это выглядит в лог-файле:
21 Jun 06:00:00 944 TASK: fido_purge_link
21 Jun 06:00:00 944 Start: sqpack.exe *
21 Jun 06:05:57 944 Start result: 0

Стало интересно, зачем автору знать ThreadId завершённой задачи

Всего записей: 133 | Зарегистр. 04-02-2005 | Отправлено: 12:17 06-08-2006 | Исправлено: Dimanish, 12:18 06-08-2006
lucky_Luk

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли с помощью сабжа поцепить на сочетание клавиш установку опции панели задач WinXP "Отображать поверх остальных окон" или появление/скрытие панели задач при активной опции "Автоматически скрывать панель задач"?
Как вариант - подскажите текст задачи которая:
1. Определяет текущие координаты указателя мыши и запоминает их;
2. Переводит мышь в верхнюю часть экрана (т.е. на любые заданные координаты сверху);
3. Делает паузу (чтобы посмотреть в системный трей);
4. Если пользователь не двигает мышку во время паузы то переводит указатель назад на координаты, которые запомнились в п.1;
5. Если пользователь двигает мышь во время паузы то ничего не делает и завершает выполнение.
Пойду Хелп ковырять.

Всего записей: 7100 | Зарегистр. 29-11-2004 | Отправлено: 18:26 06-08-2006
ALEF



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Stygis
Спасибо, мне нужно было слово EVAL-SUBST  
А между MSG и TMSG - в данном случае разница не принципиальна.
 
Я хотел сохранить строку с тескстом и временем в переменную чтобы потом ее несколько раз использовать в TMSG добавляя каждый раз маленький кусочек, типа "до рестарта осталось 2 минуты", "до рестарта осталось 1 минута".
 
Как для этой цели проще всего сохранить строку?

----------
Аникей - не очень старое русское имя.

Всего записей: 1002 | Зарегистр. 03-11-2003 | Отправлено: 21:36 06-08-2006 | Исправлено: ALEF, 21:54 06-08-2006
Stygis

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

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 21:55 06-08-2006
ALEF



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Надо сделать аналог процедуры (как в PASCAL) или подпрограммы.
Для этого хочу описать новое слово, ему нужно будет передать текстовую строку, а оно эту строку применит в своей работе.
Примерно вот так:
: my_word MSG: "%переданная_строка%";
Action:
my_word 888

 
Как передать строку слову?

----------
Аникей - не очень старое русское имя.

Всего записей: 1002 | Зарегистр. 03-11-2003 | Отправлено: 11:01 07-08-2006
Stygis

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

Код:
: my_word MsgBox ;
Action:
S" 888" my_word

?

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 11:28 07-08-2006
ALEF



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Stygis
спасибо.
Но мне надо больше. Я понял что не обойтись без более подробных объяснений.
Задумка такая:
из задачи нужно отослать e-mail на определенные три адреса, адреса нельзя ставить в копию или перечислить их через запятую (потому что они пойдут на SMS-шлюз).
Отправку почты я делаю через  <VBScript> CreateObject("CDO.Message") ...
Этот скрипт я хочу вынести в отдельное слово, вместо адреса в нем поставить %my_addr% и передавать ему адрес через переменную my_addr.
В итоге нужно будет вызвать это слово с параметром примерно так:
MY_SEND "admin@sms.com"
А для реализации задуманного не хватает у меня знаний и опыта в фоте.

----------
Аникей - не очень старое русское имя.

Всего записей: 1002 | Зарегистр. 03-11-2003 | Отправлено: 14:13 07-08-2006 | Исправлено: ALEF, 16:29 07-08-2006
Stygis

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ALEF
Вот так и надо было сразу
Скрипт приведи здесь (кажется, он был на nnCron-форуме?, но пусть и здесь лежит), будем в скрипт запинывать
ЗЫ. Не забываем про тег [more]
 
Добавлено:
Кстати, помню писали в этой теме про параметры (или нотацию, уж не знай, как называть) "{}" - попробуй поищи.

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 14:50 07-08-2006 | Исправлено: Stygis, 14:53 07-08-2006
ALEF



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
почту я отправлюя вот такой задачей с VBScript
и для отправки отдельных писем по нескольким адресам чтобы не копировать скрипт в теле задачи несколько раз нужно оформить его в "подрограмму"


----------
Аникей - не очень старое русское имя.

Всего записей: 1002 | Зарегистр. 03-11-2003 | Отправлено: 16:22 07-08-2006
Stygis

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

Код:
#( task-alert-test
NoActive
Action:
 <JScript>
        WScript.echo("%move COUNT%");
 </SCRIPT>
)#
 
#( task-alert-test2
NoActive
CREATE move 256 ALLOT
Action:
S" tmp1" move PLACE
task-alert-test LAUNCH
PAUSE: 2000
S" tmp2" move PLACE
task-alert-test LAUNCH
PAUSE: 2000
S" tmp31" move PLACE
task-alert-test LAUNCH
)#

 
Т.е. слово с JScript'ом пока не получилось определить
 
Добавлено:
Часть 2.
Получился такой вариант (опять же, не совсем красивый )

Код:
#( task-js-test
NoActive
CREATE move 256 ALLOT
: my_word2  
move PLACE
  <JScript>
         WScript.echo("%move COUNT%");
  </SCRIPT>
;
Action:
S" tmp" my_word2
}

 
Добавлено:
Кстати, в скрипте вот это надо?

Код:
Wscript.Quit  

Всего записей: 2497 | Зарегистр. 24-09-2005 | Отправлено: 16:27 07-08-2006
unreal666



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

Цитата:
4. Если пользователь не двигает мышку во время паузы то переводит указатель назад на координаты, которые запомнились в п.1;

А что у тебя считается "не двигать мышку"? Просто даже если ее не двигать, то она может сдвинуться на несколько пикселей (если мышь хреновая). Т.е. нужно задать разброс в пикселях для погрешности.

----------
MSI PRO B650-P WIFI / Ryzen 5 7600X / RAM 32Gib / 4 HDD = 10Tib + 1 NVME 2Tib / Radeon RX 560 2Gib / Win 10 x64 // POB, PVD

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 18:13 07-08-2006
   

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