Это не учения, боец! Добро пожаловать в реальный мир!
Сайт программы
nnCron - компактный (размером менее 1Мб) и мощный планировщик заданий для Windows, распространяющийся бесплатно для частного некоммерческого использования. По сравнению с большинством планировщиков, и в том числе встроенным в Windows MSTask.exe, nnCron позволяет не только запускать задачи в заданное время , но и реагировать на определенные события, такие, как модификация файла, создание, изменение или деактивация окна, запуск или завершение процесса, установление или разрыв Интернет-соединения, и т.п.
Основные возможности nnCron:
Установка nnCron выполняется обычным способом. После завершения инсталляции и запуска службы nnCron, в системном трее появится иконка планировщика. Щелчок правой кнопки мышки на иконке позволяет получить доступ к основному меню программы.
Чтобы выполнить регистрацию nnCron, пеpейдите в его домашний каталог (обычно- C:\Program Files\NNCRON\ ) и запустите пpогpамму tm.exe с параметром xReg.
tm.exe xReg
В появившемся окошке введите xUSSR регистрация в качестве имени и текущий день недели (по-pусски) вместо паpоля.
Основные настройки программы хранятся в файле nncron.ini домашнего каталога программы. Для изменения настроек удобно пользоваться основным меню, вызываемым правой кнопкой мышки. Выбирается пункт "Settings" ("Параметры")
Настройки программы интуитивно понятны и вполне достаточны для комфортной работы с планировщиком. При необходимости, можно изменить язык программы, выбрать формат и размещение файлов журналов, резервных копий кронтабов, справочной системы, режимов запуска задач, их приоритет, пункты меню и некоторые другие опции.
Кроме настроек, через главное меню программы можно вызвать справку, дополнительные инструменты, которые облегчают создание заданий, отредактировать или выполнить принудительно конкретную задачу, создать новую задачу или напоминание, посмотреть текущий файл журнала nncron.
Данные о создаваемых для планировщика задачах и напоминаниях, по умолчанию, сохраняются в файле nncron.tab каталога планировщика (.\Program Files\nnCron). Записи задач могут быть представлены в классическом режиме или расширенном.
Классический режим соответствует формату кронтаб-файлов Unix-систем и представляет собой строку, содержащую время в крон-формате и через пробел - команду. Пустые строки и строки, начинающиеся с символа #, не обрабатываются (кроме конструкции #( ) .
# Minutes Hours Days Months WeekDays Command
*/15 8-16 * * 1-5 checkmail.exe
Первая строка - комментарий, вторая - состоит из пяти полей, разделенных пробелами:
и имени запускаемой программы - checkmail.exe.
Символ * вместо значения определяет "все". Т.е. * в поле означает, что задание должно выполняться все дни месяца. Может быть задано конкретное значение в виде десятичного числа или диапазона чисел. Так, в рассматриваемой строке в поле указано 8-16 - это означает, что задание будет выполняться с 8 часов до 16. Возможно задание значений, разделенных запятой - 8,9,10,11,12,13,14,15,16. В поле запись выглядит так - */15 . Это означает "шаг" - каждые 15 минут. Запись 1-5 в поле означает "с понедельника по пятницу".
В итоге строка будет означать "Выполнять задание checkmail.exe каждые 15 минут каждого часа каждого числа каждого месяца в рабочие дни недели."
Облегченная версия nnCron под названием nnCron Lite, отличается от профессиональной тем, что в ней нет графического интерфейса пользователя, и планировщик может обрабатывать задачи только в классическом режиме. Сами задачи создаются с помощью ручного добавления записей в файл nncron.tab. Расширенный режим - основной и самый мощный синтаксический режим работы nnCron. В расширенном режиме у пользователя появляется возможность создавать именованные задачи (Tasks), каждая из которых запускается в указанное пользователем время и позволяет тонко настраивать и сами выполняемые действия и условия, при соблюдении которых они выполняются.
Описание каждой задачи начинается с такой синтаксической конструкции:
#( имя_задачи
Встретив эту последовательность в файле nncron.tab, планировщик переключается в расширенный режим обработки записи о задаче до обнаружения последовательности
)#
означающей конец записи.
Встретив признак конца записи о задаче, планировщик переключается обратно в классический режим. Сделано это для того, чтобы записи в любом формате могли находиться где угодно в одном и том же файле nncron.tab (кронтабе).
Записи о заданиях в nncron.tab можно создавать как с использованием графической оболочки nnCron, так и редактированием его содержимого с помощью обычного текстового редактора.
Записи, имеющие классический формат, в списке задач, открываемом с помощью графического интерфейса, не отображаются. Они не являются именованными и создаются, изменяются и удаляются вручную, при редактировании файла nncron.tab
Для добавления задачи или напоминания в графической оболочке используется основное меню, открывающееся по щелчку правой кнопки мышки на иконке nnCron в области уведомлений рабочего стола (системном трее).
На первой вкладке ("Время" ) необходимо задать имя задачи, время старта или событие, по которому произойдет запуск, и учетную запись, с правами которой задача будет выполнена. Если пользователь не указан, то задача будет выполняться с правами системной локальной учетной записи (System Local Account). Необходимо учитывать, что некоторые запускаемые приложения могут быть успешно выполнены только под конкретной учетной записью и требуют загрузки профиля пользователя (приложения MS Office, например).
На вкладке "Действие" нужно определить, что именно должна выполнить создаваемая задача. Выбранный вариант действий вызовет отображение дополнительных опций, указание которых необходимо для успешного выполнения задания.
Вкладка "Дополнительно" вызовет отображение созданной задачи в том виде, в каком она будет записана в файл nncron.tab. Например:
AsLoggedUser - как пользователь, выполнивший вход в систему
Time: 30 9 * * 1-5 * - время в крон-формате
Action: - выбранное действие и его дополнительные опции (ниже)
StartIn: "C:\SCRIPTS\TEST" - рабочий каталог
ShowNormal NormalPriority - приоритет, с которым будет выполняться задача
START-APP: C:\SCRIPTS\TEST\test1.bat - в качестве действия будет использован запуск командного файла test1.bat
Назовем задачу "Reconnect". Используемое для подключения к Интернет соединение, как правило, создается для каждого отдельного пользователя Windows. В примере, задача будет выполняться от имени пользователя, выполнившего вход в систему. Вместо времени выбираем условие По событию и из перечня доступных для обработки планировщиком событий - При Разрыве Интернет соединения
Теперь нужно выбрать вкладку Действие и, из перечня доступных действий - Установить интернет соединение
Затем, необходимо выбрать необходимое соединение, указать связанные с ним имя пользователя и пароль, а также задать число попыток и интервал в секундах между ними.
После сохранения задания, при разрыве подключения к Интернет, планировщик восстановит его, если это технически возможно.
В качестве Интернет подключения может быть выбрано одно из существующих в системе подключений удаленного доступа (dialup, VPN, PPPoE и т.п.). Созданная таким образом задача, будет добавлена в файл nncron.tab в виде:
#( Reconnect
WatchDisconnect
Action:
RASUser: "stm234567"
RASSecPassword: "Qrt3rkJ="
DIAL: "Stream" 10 15
)#
Эту же задачу можно создать и без использования графической оболочки, просто скопировав вышеуказанный текст в файл nncron.tab. После чего, задача появится в списке заданий планировщика и станет доступной для редактирования в контекстном меню правой кнопки, в пункте "Редактировать". Для ее работоспособности необходимо ввести правильный пароль для восстанавливаемого соединения, поскольку, из соображений безопасности, планировщик хранит его в своем внутреннем формате, а не в открытом текстовом виде. Получить пароль в сохраненном nnCron'ом виде можно также с помощью команды
nncron.exe -ep ПАРОЛЬ
В ответ на такую команду будет отображено окно с текстом хранимого пароля, соответствующим слову "ПАРОЛЬ"
Возможность запускать задачи по событию "Создание/изменения файла" - очень полезная возможность планировщика, позволяющая решать такие задачи, как выполнение комплексного задания несколькими компьютерами, при чем, с учетом промежуточных результатов.
В качестве запускающего задачи события можно выбрать модификацию файла на сетевом диске. И, если создать задачи на нескольких компьютерах, отслеживающих создание или изменение одного и того же файла на сетевом диске, то при наступлении события выполнение задачи начнется на всей группе компьютеров. Кроме того, можно организовать выполнение задачи специальным командным файлом, анализирующим содержимое модифицированного (отслеживаемого планировщиком) файла, и в зависимости от его содержания, выполнить то, или иное задание. Как пример, я использовал подобный прием для автоматической замены некоторых файлов в определенных каталогах нескольких компьютеров, когда источник (версия файлов) заранее неизвестна.
Для анализа содержимого модифицированного файла можно использовать следующую конструкцию
REM FOR /F "параметры" - использование данных из файла
REM Переменная %%I - слово из файла
FOR /F %%I in (Q:\PUBLIC\DIR\startfile.txt) do (
xcopy /Y /S "X:\SourceDir\%%I\*.*" c:\DestDir\*.*
)
IF %ERRORLEVEL% NEQ 0 net.exe send ADMCOMP XCOPY Error = %ERRORLEVEL% .
REM
...
В данном примере модифицируется содержимое файла Q:\PUBLIC\DIR\startfile.txt. В него записывается имя подкататалога, находящегося на сетевом ресурсе X:\SourceDir\ . Команда xcopy используется для копирования его содержимого на локальный диск C: в каталог DestDir. Процесс запуска задачи можно инициировать выполнением команды
echo datadir > Q:\PUBLIC\DIR\startfile.txt
После ее выполнения в файле Q:\PUBLIC\DIR\startfile.txt будет записана текстовая строка с именем подкаталога, откуда должны браться исходные файлы для копирования.
Справочная система (онлайн) по работе с планировщиком nnCron