Cron для windows server

nnCron — улучшенный планировщик заданий для Windows


Установка и регистрация планировщика nnCron.

nnCron — компактный (размером менее 1Мб) и мощный планировщик заданий для Windows, распространяющийся бесплатно для частного некоммерческого использования. По сравнению с большинством планировщиков, и в том числе встроенным в Windows MSTask.exe, nnCron позволяет не только запускать задачи в заданное время , но и реагировать на определенные события, такие, как модификация файла, создание, изменение или деактивация окна, запуск или завершение процесса, установление или разрыв Интернет-соединения, и т.п.
&nbsp &nbsp Основные возможности nnCron:
— может быть запущен в качестве службы (сервиса) или как обычное приложение
— понимает cron-формат (Unix) и управляется с помощью текстовых файлов cron.tab, формат которых совместим с форматом кронтаб-файлов Unix-систем
— умеет отслеживать и перезапускать просроченные задачи
— умеет задавать и использовать переменные окружения (environment variables)
— умеет запускать процессы от имени текущего авторизованного пользователя (WinNT/2000/XP)
— позволяет запускать плагины (скрипты произвольной сложности), написанные на языке программирования Форт
— гибко настраивается под конкретные нужды пользователя
— не требователен к ресурсам компьютера.

Установка nnCron выполняется обычным способом. После завершения инсталляции и запуска службы nnCron, в системном трее появится иконка планировщика. Щелчок правой кнопки мышки на иконке позволяет получить доступ к основному меню программы.

Чтобы выполнить регистрацию nnCron, откройте домашний каталог программы (обычно- C:\Program Files\NNCRON\ ) и запустите tm.exe с параметром xReg.
tm.exe xReg
В появившемся окошке введите xUSSR регистрация в качестве имени, и текущий день недели на русском языке в качестве паpоля.

Основные настройки программы хранятся в файле nncron.ini домашнего каталога программы. Для изменения настроек удобно пользоваться основным меню, вызываемым правой кнопкой мышки. Выбирается пункт «Settings» («Параметры»)

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

Кроме настроек, через главное меню программы можно вызвать справку, дополнительные инструменты, которые облегчают создание заданий, отредактировать или выполнить принудительно конкретную задачу, создать новую задачу или напоминание, посмотреть текущий файл журнала nncron.

Создание напоминаний и задач.

&nbsp &nbsp Данные о создаваемых для планировщика задачах и напоминаниях, по умолчанию, сохраняются в файле nncron.tab каталога планировщика (.\Program Files\nnCron). Записи задач могут быть представлены в классическом режиме или расширенном .

Классический режим соответствует формату кронтаб-файлов Unix-систем и представляет собой строку, содержащую время в крон-формате и через пробел — команду. Пустые строки и строки, начинающиеся с символа # , не обрабатываются (кроме конструкции #( ) .

# Minutes Hours Days Months WeekDays Command
*/15 8-16 * * 1-5 checkmail.exe

Первая строка — комментарий, вторая — состоит из пяти полей, разделенных пробелами:

и имени запускаемой программы — checkmail.exe .

&nbsp &nbsp Символ * вместо значения определяет «все». Т.е. * в поле означает, что задание должно выполняться все дни месяца. Может быть задано конкретное значение в виде десятичного числа или диапазона чисел. Так, в рассматриваемой строке в поле указано 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. &nbsp &nbsp Расширенный режим — основной и самый мощный синтаксический режим работы nnCron. В расширенном режиме у пользователя появляется возможность создавать именованные задачи (Tasks), каждая из которых запускается в указанное пользователем время и позволяет тонко настраивать и сами выполняемые действия и условия, при соблюдении которых они выполняются.
Описание каждой задачи начинается с такой синтаксической конструкции:

Читайте также:  Linux быстрое удаление каталога

Встретив эту последовательность в файле 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 ПАРОЛЬ

В ответ на такую команду будет отображено окно с текстом хранимого пароля, соответствующим слову «ПАРОЛЬ»

Использование события «Создание/изменения файла».
Возможность запускать задачи по событию «Создание/изменения файла» — очень полезная возможность планировщика, позволяющая решать такие задачи, как выполнение комплексного задания несколькими компьютерами, при чем, с учетом промежуточных результатов.

Читайте также:  Usb over network linux client

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

Для анализа содержимого модифицированного файла можно использовать следующую конструкцию
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 — nncron.ru

Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

Курс по сетям

15 примеров команды PING для диагностики сети

Руководство по команде grep в Linux

Рекурсивно найти слово в файлах и папках Linux

Поиск и расположение команд в Linux

Ubuntu: обнаружение и работа с Hardware

Установка pfSense на Ubuntu и CentOS

Пошаговое руководство как собрать ядро Linux с нуля

Еженедельный дайджест

Планировщик CRON — запуск программ по расписанию

Время планировать задачи

Cron — это демон планирования, который выполняет задачи с заданными интервалами. Эти задачи называются заданиями cron и в основном используются для автоматизации обслуживания или администрирования системы.

Обучайся в Merion Academy

Пройди курс по сетевым технологиям

Начать

Например, вы можете установить задание cron для автоматизации повторяющихся задач, таких как резервное копирование баз данных или данных, обновление системы последними обновлениями безопасности, проверка использования дискового пространства, отправка электронных писем, перезагрузка сервера и так далее. В некоторых приложениях, таких как Drupal или Magento, для выполнения определенных задач требуются задания cron.

Задания cron могут быть запланированы по минуте, часу, дню месяца, месяцу, дню недели или любой их комбинации.

Что такое файл Crontab

Crontab (таблица cron) представляет собой текстовый файл, который определяет расписание заданий cron. Существует два типа файлов crontab. Общесистемные файлы crontab и отдельные пользовательские файлы crontab.

Файлы crontab пользователей именуются в соответствии с именем пользователя, и их расположение зависит от операционной системы. В дистрибутивах на основе Red Hat, таких как CentOS, файлы crontab хранятся в каталоге /var/spool/cron , а файлы Debian и Ubuntu хранятся в каталоге /var/spool/cron/crontabs .

Хотя вы можете редактировать пользовательские файлы crontab вручную, рекомендуется использовать команду crontab .

/etc/crontab и файлы в каталоге /etc/cron.d являются общесистемными файлами crontab, которые могут редактировать только системные администраторы.

В большинстве дистрибутивов Linux вы также можете помещать скрипты в каталоги /etc/cron. , и скрипты будут выполняться каждый час/день/неделю/месяц.

Синтаксис Crontab и операторы

Каждая строка в пользовательском файле crontab содержит шесть полей, разделенных пробелом, за которым следует команда для запуска.

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

  • * — оператор звездочки означает любое значение или всегда. Если в поле «Час» имеется символ звездочки, это означает, что задание будет выполняться каждый час.
  • , — оператор запятой позволяет указать список значений для повторения. Например, если у вас есть 1,3,5 в поле Час, задание будет выполняться в 1, 3 и 5 часов утра.
  • — — оператор дефиса позволяет указать диапазон значений. Если в поле «День недели» указано значение 1–5, задание будет выполняться каждый рабочий день (с понедельника по пятницу).
  • / — оператор косой черты позволяет указать значения, которые будут повторяться в течение определенного интервала между ними. Например, если в поле «Час» указано */4 , это означает, что действие будет выполняться каждые четыре часа. Это то же самое, что указание 0,4,8,12,16,20. Вместо звездочки перед оператором косой черты можно также использовать диапазон значений, 1-30/10 означает то же, что и 1,11,21.
Читайте также:  Nvidia доступ запрещен не удалось применить выбранные настройки windows 10

Общесистемные файлы Crontab

Синтаксис общесистемных файлов crontab немного отличается от пользовательских crontabs . Он содержит дополнительное обязательное поле пользователя, которое указывает, какой пользователь будет запускать задание cron.

Предопределенные макросы

Существует несколько специальных макросов расписания Cron, используемых для определения общих интервалов. Вы можете использовать эти ярлыки вместо указания даты в пять столбцов.

  • @yearly (или @annually ) — запускать задание один раз в год в полночь (12:00) 1 января. Эквивалент 0 0 1 1 * .
  • @monthly — запускать заданное задание один раз в месяц в полночь первого дня месяца. Эквивалент 0 0 1 * * .
  • @weekly — запускать задание раз в неделю в полночь воскресенья. Эквивалент 0 0 * * 0 .
  • @daily — запускать задание один раз в день в полночь. Эквивалент 0 0 * * * .
  • @hourly — запускать заданную задачу один раз в час в начале часа. Эквивалент 0 * * * *.
  • @reboot — Запустить указанное задание при запуске системы (время загрузки).

Команда Crontab

Команда crontab позволяет установить или открыть файл crontab для редактирования. Вы можете использовать команду crontab для просмотра, добавления, удаления или изменения заданий cron, используя следующие параметры:

  • crontab -e — отредактировать файл crontab или создать его, если он еще не существует.
  • crontab -l — Показать содержимое файла crontab.
  • crontab -r — удалить текущий файл crontab.
  • crontab -i — Удалить текущий файл crontab с запросом перед удалением.
  • crontab -u — Изменить другой файл crontab. Требуются права системного администратора.

Команда crontab открывает файл crontab с помощью редактора, указанного в переменных окружения VISUAL или EDITOR .

Переменные Crontab

Демон cron автоматически устанавливает несколько переменных окружения.

  • Путь по умолчанию установлен в PATH=/usr/bin:/bin . Если вызываемая вами команда присутствует в указанном пути cron, вы можете использовать абсолютный путь к команде или изменить переменную cron $PATH . Вы не можете неявно добавить :$PATH , как если бы вы использовали обычный скрипт.
  • Оболочка по умолчанию установлена в /bin/sh . Вы можете установить другую оболочку, изменив переменную SHELL .
  • Cron вызывает команду из домашнего каталога пользователя. Переменная HOME может быть переопределена настройками в crontab.
  • Уведомление по электронной почте отправляется владельцу crontab. Чтобы перезаписать поведение по умолчанию, вы можете использовать переменную среды MAILTO со списком (через запятую) всех адресов электронной почты, которые вы хотите получать по электронной почте. Если MAILTO определено, но пусто (MAILTO = «») , письмо не отправляется.

Ограничения Crontab

Системные администраторы могут контролировать, какие пользователи имеют доступ к команде crontab , используя файлы /etc/cron.deny и /etc/cron.allow . Файлы состоят из списка имен пользователей, по одному имени пользователя в строке.

По умолчанию только файл /etc/cron.deny существует и является пустым, что означает, что все пользователи могут использовать команду crontab . Если вы хотите запретить доступ к командам crontab конкретному пользователю, добавьте имя пользователя в этот файл.

Если файл /etc/cron.allow существует, только пользователи, перечисленные в этом файле, могут использовать команду crontab . Если ни один файл не существует, только пользователи с правами администратора могут использовать команду crontab .

Примеры Cron заданий

Ниже приведены некоторые примеры заданий cron, которые покажут вам, как запланировать выполнение задачи на разные периоды времени.

  • Запускать команду в 15:00 каждый день с понедельника по пятницу:
  • Запускать скрипт каждые 5 минут и перенаправлять стандартный вывод на dev null , на указанный адрес электронной почты будет отправлена только стандартная ошибка:
  • Выполнять две команды каждый понедельник в 3 часа дня (используйте оператор && между командами):
  • Запускать PHP-скрипт каждые 2 минуты и записывать результат в файл:
  • Запускать сценарий каждый день, каждый час, каждый час, с 8:00 до 16:00:
  • Запускать сценарий в первый понедельник каждого месяца в 7 часов утра.
  • Запускать сценарий в 21:15, 1 и 15 числа каждого месяца:
  • Установить пользовательские переменные HOME , PATH , SHELL и MAILTO и запускать команду каждую минуту.
Оцените статью