Разное

Как пользоваться nncron: Работа с планировщиком nnCron — Полигон DISc0nNecT’a

Содержание

Работа с планировщиком nnCron — Полигон DISc0nNecT’a

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

Сайт программы

nnCron — компактный (размером менее 1Мб) и мощный планировщик заданий для Windows, распространяющийся бесплатно для частного некоммерческого использования. По сравнению с большинством планировщиков, и в том числе встроенным в Windows MSTask.exe, nnCron позволяет не только запускать задачи в заданное время , но и реагировать на определенные события, такие, как модификация файла, создание, изменение или деактивация окна, запуск или завершение процесса, установление или разрыв Интернет-соединения, и т.п.

Основные возможности nnCron:

  • может быть запущен в качестве службы (сервиса) или как обычное приложение
  • понимает cron-формат (Unix) и управляется с помощью текстовых файлов cron.tab, формат которых совместим с форматом кронтаб-файлов Unix-систем
  • умеет отслеживать и перезапускать просроченные задачи
  • умеет задавать и использовать переменные окружения (environment variables)
  • умеет запускать процессы от имени текущего авторизованного пользователя (WinNT/2000/XP)
  • позволяет запускать плагины (скрипты произвольной сложности), написанные на языке программирования Форт
  • гибко настраивается под конкретные нужды пользователя
  • не требователен к ресурсам компьютера.

Установка 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

Источник

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











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

&nbsp &nbsp
nnCron — компактный (размером менее 1Мб) и мощный планировщик заданий для Windows, распространяющийся бесплатно для частного некоммерческого использования. По сравнению с большинством планировщиков, и в том числе встроенным в Windows MSTask.exe, nnCron позволяет не только запускать задачи в заданное время , но и реагировать на определенные события, такие, как модификация файла, создание, изменение или деактивация окна, запуск или завершение процесса, установление или разрыв Интернет-соединения, и т.п.



&nbsp
&nbsp
Основные возможности nnCron:

— может быть запущен в качестве службы (сервиса) или как обычное приложение

— понимает cron-формат (Unix) и управляется с помощью текстовых файлов cron.tab,
формат которых совместим с форматом кронтаб-файлов Unix-систем

— умеет отслеживать и перезапускать просроченные задачи

— умеет задавать и использовать переменные окружения (environment variables)

— умеет запускать процессы от имени текущего авторизованного пользователя (WinNT/2000/XP)

— позволяет запускать плагины (скрипты произвольной сложности), написанные на языке
программирования Форт

— гибко настраивается под конкретные нужды пользователя

— не требователен к ресурсам компьютера.

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

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

В появившемся окошке введите xUSSR регистрация в качестве имени, и
текущий день недели на русском языке в качестве паpоля.

&nbsp &nbsp
Основные настройки программы хранятся в файле 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


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


и имени запускаемой программы — 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), каждая из которых запускается в указанное пользователем время и позволяет тонко настраивать и сами выполняемые действия и условия, при соблюдении которых они выполняются.

Описание каждой задачи начинается с такой синтаксической конструкции:


#( имя_задачи

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


)#

означающей конец записи.

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

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

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

Для добавления задачи или напоминания в графической оболочке используется основное
меню, открывающееся по щелчку правой кнопки мышки на иконке nnCron в области уведомлений рабочего стола (системном трее).

&nbsp &nbsp
На первой вкладке («Время» ) необходимо задать имя задачи, время старта или событие, по которому произойдет запуск, и учетную запись, с правами которой задача будет выполнена. Если пользователь не указан, то задача будет выполняться с правами системной локальной учетной записи (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 ПАРОЛЬ

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

  • Использование события «Создание/изменения файла».


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

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

    Для анализа содержимого модифицированного файла можно использовать следующую конструкцию


    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

    Справочная система
    (онлайн) по работе с планировщиком nnCron

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










    В начало страницы &nbsp &nbsp | &nbsp &nbsp На главную страницу

    Крошечный планировщик задач nnCron — пк-ГИД

    В сегодняшнем обзоре мы рассматриваем небольшую по размеру, но огромную по возможностям утилиту под названием nnCron. Программа представляет собой «продвинутый и очень мощный планировщик/скриптер/менеджер автоматизации». И хотя в статье рассматривается всего лишь пара примеров использования nnCron, перечислим хотя бы основные её возможности. Это запуск приложений, в том числе от указанных пользователей, напоминания, отслеживание определённых событий, добавление задач, состоящих из многочисленных действий, включение и усыпление компьютера в заданное время, манипуляции с окнами и курсором мыши, ведение логов. Далее будет уместно написать традиционное «и т.д., и т.п.», и здесь это будет к месту, ибо список можно продолжать очень долго.

    Получить доступ ко всем функциям nnCron проще всего через контекстное меню, открываемое правым кликом на значке программы в системном трее. Самый простой случай использования nnCron – установка напоминания. Для этого в меню выбираем пункт Добавить напоминание и вводим текст, время и дату. В указанное время сообщение появится на экране.

    Для добавления новой задачи в nnCron выбираем в меню пункт Добавить задачу. Здесь программа предоставляет массу вариантов. Можно добавить самые разнообразные задания. Рассмотрим порядок на простом примере: вывод надписи при запуске Windows. Итак, вводим название задачи в поле Имя задачи, затем выбираем периодичность выполнения (в нашем случае По событию), и в выпадающем списке выбираем само событие: При старте системы. В зависимости от выбранного времени события

    Затем открываем вкладку Действие, где указываем параметры задачи. Для нашего примера выбираем Отобразить сообщение и вводим текст сообщения в соответствующем поле. Программа поддерживает системные переменные, так что сообщение можно «разнообразить» данными, известными системе. Например, для добавления имени пользователя пишем в тексте сообщения переменную %USERNAME%. Кстати, для вывода в тексте сообщения знаков «кавычки», «процент» или «перевод строки» можно использовать переменные, соответственно, %QUOTE%, %PERCENT% и %crlf%.

    Как будет выглядеть в итоге сообщение, можно увидеть во вкладке Дополнительно. Там же можно дописать другие команды, которые нельзя задать через интерфейс настроек. К примеру, чтобы nnCron вместе с сообщением воспроизвёл звук, достаточно указать полный путь к файлу в формате WAV и команду PLAY-SOUND:
    PLAY-SOUND: «С:WINDOWSMediading.wav»

    В итоге мы увидим примерно следующий список команд (событие здесь установлено на точное время):

    nnCron позволяет создавать и более сложные задачи с условиями и несколькими выполняемыми действиями. Например, выберем событие Hot key и введём горячие клавиши. В дальнейшем при нажатии указанных клавиш программа будет выполнять заданные действия. Обычные буквенно-цифровые клавиши пишем как есть, а для указания специальных клавиш используем следующие символы:
    ^Ctrl
    @Alt
    +Shift
    $Win

    Чтобы настроить задачу на комбинацию клавиш Ctrl + Alt + E, указываем ^@e.

    Далее во вкладке Действие выбираем Очистить каталог от старых файлов. В поле путь/маска программа автоматически впишет полный путь к папке с временными файлами Windows. При необходимости можно изменить его вручную. Там же можно указать максимальный возраст файлов в днях.

    Во вкладке Условия можно задать дополнительные условия, при которых nnCron будет выполнять задачу. Список, к сожалению, содержит только несколько самых востребованных условий. Но ничто не мешает нам перейти во вкладку Дополнительно и там дописать своё условие. Например, проверить, если на диске С размер свободного места меньше 2 Гб, то это и будет условием для выполнения очистки временной папки. В nnCron озвученное условие записывается так:
    Rule: FREE-SPACE: C 2000000 <

    Добавим ещё команду
    HINT: «Очищаю временные файлы»

    Она выведет над системным треем подсказку с сообщением, указанным в кавычках. И в итоге после нажатия клавиш Ctrl + Alt + E nnCron проверит размер свободного места на диске, и если оно составит менее 2 Гб, то запустит команду очистки папки с временными файлами Windows.

    Любую задачу можно выполнить вручную через меню программы Выполнить задачу. Вообще возможности утилиты настолько велики, что просто не представляется возможным описать их все в рамках одного обзора. С полным списком поддерживаемых команд с описанием можно ознакомиться в справке к nnCron. Если поставить цель и потратить некоторое время на ввод команд, то с помощью nnCron можно автоматизировать практически любую задачу. И в дальнейшем это позволит сэкономить массу времени.

    Характеристики:
    Язык интерфейса: русский, английский и др.
    ОС: Windows 95, 98, Me, 2000, XP, Vista
    Размер файла: 900 Кб
    Лицензия: бесплатная для граждан стран бывшего СССР

    Автоматизация рутинной деятельности с помощью nnCron LITE





    Автоматизация рутинной деятельности с помощью nnCron LITE.

    Шаг первый — устанавливаем и настраиваем nncron на компьютере PC2.
    Шаг второй — создаем задания для nncron.

    &nbsp
    &nbsp

    Для запуска выбранных программ по расписанию очень удобно использовать планировщик заданий
    nnCron (Автор — Николай Немцев). С его помощью можно в указанное время и с заданной периодичностью запускать любые
    процессы. nnCron LITE распространяется бесплатно, сопровождается очень толковой документацией
    на русском языке и работает со всеми ОС Windows. nnCron (не LITE) для некоммерческого использования
    также бесплатен для граждан бывшего СССР, но требует регистрации. Он вобрал в себя все лучшее из известного в
    мире UNIX планировщика cron. Скачать последнюю версию nnCron LITE (230кб) и nnCron можно отсюда:
    www.nncron.ru


    &nbsp
    &nbsp
    Основные возможности nnCron:

    — может быть запущен в качестве службы (сервиса) или как обычное приложение

    — понимает cron-формат (Unix) и управляется с помощью текстовых файлов cron.tab,
    формат которых совместим с форматом кронтаб-файлов Unix-систем

    — умеет отслеживать и перезапускать просроченные задачи

    — умеет задавать и использовать переменные окружения (environment variables)

    — умеет запускать процессы от имени текущего авторизованного пользователя (WinNT/2000/XP)

    — позволяет запускать плагины (скрипты произвольной сложности), написанные на языке
    программирования Форт

    — гибко настраивается под конкретные нужды пользователя

    — не требователен к ресурсам компьютера.

    &nbsp
    &nbsp
    nnCron LITE значительно проще в использовании, чем nnCron, но и скромнее по возможностям.

    Для примера рассмотрим вариант использования nnCron LITE для решения следующей задачи:


    &nbsp
    &nbsp

    В локальной сети необходимо в 17.00 ежедневно, кроме выходных, передавать архив каталога
    C:\BASE с компьютера PC1 в каталог D:\ARHIV на компьютер PC3, и в 22.00 ежедневно выключать
    компьютер PC3 и включать его же в 8.00. а в 8.30 выполнить на нем программу program.exe.


    &nbsp
    &nbsp

    Напрашивается простое решение с использованием nncron на каждой машине, однако мы усложним
    ситуацию тем, что будем считать компьютер PC2 компьютером администратора с установленным
    nncron, а PC1 и PC3 — обычными компьютерами пользователей. Т.е. управлять всеми процессами
    будет PC2. Это накладывает некоторые ограничения на его конфигурацию — ОС на нем должна быть
    Win2k/XP с правами администратора по отношению к ресурсам остальных компьютеров.

    &nbsp
    &nbsp

    Для решения данной задачи нам потребуется не только nncron, но и некоторые из утилит пакета
    Pstools.

    Шаг первый — устанавливаем и настраиваем nncron на компьютере PC2.


    &nbsp
    &nbsp
    Для начала скачиваем nnCron LITE На сегодняшний день на сайте
    www.nncron.ru выложена версия nncron Lite в виде исполняемого модуля nncronlt116.exe.
    Запускаем его , выбираем язык (лучше, конечно, выбрать русский), вариант установки
    (для одного пользователя или для всех на данном компьютере) и каталог, где будет размещаться
    программа. После успешного завершения инсталляции вы увидит итоговое окно, сообщающее, что
    инсталляция завершена и сервис nnCron LITE запущен. В меню «Программы» появился раздел
    nnCron LITE, позволяющий запустить или остановить сервис.


    &nbsp
    &nbsp


    В целом все готово к работе, однако желательно бы установить nncron в качестве сервиса системы,
    чтобы он запускался автоматически независимости от входа пользователя в систему. Для этого
    переходим в папку C:|\Program Files\cron и запускаем install_svc.bat.
    В этой же папке находится текстовый файл cron.tab, содержимое которого является основным
    инструментом управления запуском заданий. После инсталляции он содержит следующее:


    #CRONTAB FILE

    # Classic crontab format:

    # Minutes Hours Days Months WeekDays Command

    #*/15 8-16 * * 1-5 checkmail.exe


    &nbsp
    &nbsp
    Строки, начинающиеся с символа # являются комментариями и планировщиком не
    обрабатываются (как и пустые строки). Т.е. данный файл не содержит ничего, кроме комментариев,
    дающих краткое описание классического crontab — формата (есть еще и расширенный формат) и пример для запуска checkmail.exe.

    Последняя строка (cron-формат) состоит из пяти полей, разделенных пробелами:


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

    &nbsp
    &nbsp
    Символ * вместо значения определяет «все». Т.е. * в поле означает,
    что задание должно выполняться все дни месяца. Может быть задано конкретное значение в виде
    десятичного числа или диапазона чисел. Так, в рассматриваемой строке в поле
    указано 8-16 — это означает, что задание будет выполняться с 8 часов до 16.
    Возможно задание значений, разделенных запятой — 8,9,10,11,12,13,14,15,16. В поле запись
    выглядит так — */15 . Это означает «шаг» — каждые 15 минут. Запись 1-5 в поле
    означает
    «с понедельника по пятницу».

    В итоге строка будет означать «Выполнять задание checkmail.exe
    каждые 15 минут каждого часа каждого числа каждого месяца в рабочие дни недели.»

    &nbsp
    &nbsp

    Для проверки создадим простое задание :

    «Запускать каждые 2 минуты интерпретатор команд Windows».

    Строка cron.tab должна быть следующей:

    */2&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp * &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp*
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp cmd.exe

    Добавляем в cron.tab строку :

    */2 * * * * cmd.exe

    и убеждаемся, что задание выполняется. Если это не так, смотрим содержимое папки /log, где
    nncron ведет журнал своих действий. Причиной обычно является неверное имя задачи или отсутствие ее
    в путях поиска, заданных переменной окружения PATH. Если вы используете указанную выше строку
    crontab — формата в Win9x/Me, то получите ошибку, поскольку интерпретатор команд в этих ОС —
    command.com, а не cmd.exe и строка должна была бы выглядеть так:

    */2 * * * * command.com

    Шаг второй — создаем задания для nncron.


    &nbsp
    &nbsp


    Убедившись, что nncron работает, удаляем нашу тестовую строку и приступаем к формированию строк
    для выполнения нашего задания.

    Для начала нам необходимо в 17.00 ежедневно, кроме выходных, передавать архив каталога C:\BASE
    с компьютера PC1 в каталог D:\ARHIV на компьютер PC3.
    C формированием условий запуска задания проблем не возникает, но какое задание запускать?.
    Решений может быть несколько, но рассмотрим самое простое — nncron будет запускать не
    исполняемый модуль, а bat-файл, в котором будет выполняться подключение сетевых дисков
    компьютеров PC1 и PC3 и архивирование с помощью архиватора, запускаемого из командной строки.
    Пусть этот файл называется arh.bat и находится в каталоге C:\SCRIPTS
    нашего компьютера PC2.

    &nbsp &nbsp &nbsp 0
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 17
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 1-5
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp c:\scripts\arh.bat

    Содержимое arh.bat может быть следующим (строки, начинающиеся с «rem » в командных файлах
    являются комментариями):


    rem Подключаем диск C компьютера PC1 как сетевой диск M:

    net use M: \\PC1\C

    rem Подключаем диск D компьютера PC3 как сетевой диск N:

    net use N: \\PC3\D

    rem Архивируем C:\BASE компьютера PC1 в D:\ARHIV компьютера PC3 с помощью архиватора arj

    arj a N:\ARHIV\PC3base.arj M:\BASE\*.*

    rem удаляем сетевые подключения

    net use N: /delete

    net use M: /d


    &nbsp
    &nbsp
    Запускаем arh.bat и убеждаемся, что он работает. После чего добавляем в cron.tab строку :

    0 17 * * 1-5 C:\scripts\arh.bat

    &nbsp
    &nbsp
    Первая часть задания выполнена. Вторая (в 22.00 ежедневно выключать компьютер PC3 и включать его
    же в 8.00. а в 8.30 выполнить на нем программу program.exe ) потребует наличия утилит командной
    строки, позволяющих выполнять удаленное администрирование. Для чего воспользуемся утилитами из
    пакета PsTools от Sysinternals и broadc.exe. На всякий случай я разместил здесь ссылки на те
    утилиты, которыми пользуюсь сам:

    Psshutdown — утилита выключения/ перезагрузки компьютера
    (скачать, 126кб)

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



    psshutdown -s|-r|-h|-d|-k|-a|-l|-o [-f] [-t nn] [-m «Сообщение «] [-u Username [-p Password]] [\\computer]


    &nbsp
    &nbsp
    Примеры использования:
    psshutdown -k \\PC3 — выключить компьютер PC3. Вместо имени компьютера можно указать его
    IP-адрес. Если ничего не указано, то
    имеется в виду локальный компьютер.
    psshutdown -r \\192.168.0.1 — перезагрузить удаленный компьютер с IP-адресом 192.168.0.1.
    Psexec — утилита запуска заданий на
    удаленном компьютере из пакета PSTools Microsoft (Sysinternals).
    (скачать PSTools.zip )
    Формат командной
    строки:


    psexec \\computer][-u user [-p psswd]][-s|-e][-i][-c [-f|-v]][-d][-][-a n,n,…>] cmd [arguments]

    &nbsp
    &nbsp
    Примеры использования:
    psexec \\PC3 program.exe — выполнить на удаленном компьютере program.exe. Выполняемая программа должна быть в путях поиска.
    psexec \\PC3 -c C:\SCRIPTS\program.exe Выполняемая программа копируется на удаленный
    компьютер из C:\SCRIPTS и выполняется.
    Broadc — утилита для включения компьютера по локальной сети.
    (скачать, 32кб)

    Формат командной строки:

    broadc.exe MAC-адрес сетевой карты 255.255.255.255 67


    &nbsp
    &nbsp
    Примеры использования:
    bbroadc.exe 0002b3d8b4e6 255.255.255.255 67 — включить компьютер, MAC — адрес сетевой карты
    которого равен 0002b3d8b4e6 . Материнская плата и сетевая
    карта должны обеспечивать удаленное включение и в BIOS должна быть включена
    поддержка расширенного управления питанием.

    Создаем расписание заданий:


    &nbsp &nbsp &nbsp 0
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 22
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp psshutdown


    &nbsp &nbsp &nbsp 0
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 8
    &nbsp&nbsp&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp broadc


    &nbsp &nbsp &nbsp 30
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 8
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp *
    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp psexec

    &nbsp &nbsp
    Добавляем в cron.tab следующие строки:

    0 22 * * * C:\SCRIPTS\psshutdown.exe -k \\PC3

    0 8 * * * C:\SCRIPTS\broadc.exe 0002b3d8b4e6 255.255.255.255 67

    30 8 * * * C:\SCRIPTS\psexec.exe \\PC3 programm.exe

    Дополнительно к данному материалу:


    Примеры и
    подробное описание утилит пакета PStools


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

    В начало страницы &nbsp&nbsp&nbsp | &nbsp&nbsp&nbsp На главную страницу

    планировщик на стероидах. Часть 2

    Ранее мы разобрались с основами nnCron — консолью и скриптами, сегодня же, в заключительной части статьи, мы поговорим о графическом интерфейсе программы. nnCron — это нативное Windows-приложение, а значит, здесь должны быть и окна с множеством плюшевых настроек, удобных как минимум для начинающих пользователей компьютера. Ну, а для продвинутых пользователей,  я специально коснусь азов метаязыка Форт, на базе которого построен и неограниченно расширяется nnCron.

    Действующие лица

    Мы уже весьма подробно и педантично рассмотрели возможности по скриптованию и планированию событий в nnCron. Всё-таки для цельности картины нужно пройтись по его программным составляющим — файлам. Итак, представим действующих лиц: nncron.exe — само ядро программы, здесь сосредоточена почти вся рассмотренная ранее функциональность. Отмечу лишь наличие богатства ключей, что позволяет лихо общаться с программой из черной космической бездны командной строки. Ещё один важный момент — штатная возможность работы этого планировщика в качестве системного сервиса, что особенно оценят, думаю, суровые и бородатые админы, для которых стабильность работы и ресурсоемкость запущенных на их серверах задач часто особенно критичны. nnCron после запуска болтается свернутым значком в системном трее, всегда готовый прийти вам на помощь, а также четко отслеживая ранее поставленные в очередь задания.

    Вторая составляющая комплекта — файлик tm.exe. Это — графическая оболочка, как сейчас принято выражаться — фронтенд для вышеописанного nncron.exe. Для тех, кому тяжело осваивать все обилие текстов документации с описанием богатых возможностей программы, основные её возможности теперь запросто и быстренько можно задействовать через эту симпатичную и интуитивно понятную окончатую оболочку. Кстати, у самого tm.exe, как и у любого настоящего джигита, также есть собственный набор ключей для работы с ним из командной строки, так что и тут подобрать нужные консольные ключики к трепетной душе этой программы, при большом желании на то, наверняка получится.

    И последняя составная часть комплекса — nnguard.exe. Это — элемент реализации в терминологии самой программы её «непотопляемого режима». И что это значит в наши времена глобальной нестабильности? Рассказываю: поскольку nnCron призван выполнять важные (а иногда даже критические для системы и её хозяина) задачи, в нем предусмотрено специальное средство для обеспечения её повышенной «живучести».

    Технически это реализовано как независимый процесс, который мониторит работу самого nnCron и который гарантированно и автоматически перезапустит nnCron в случае возникновения любой фатальной ошибки или его подвисания (попытка застраховаться от превратностей Windows и человеческой судьбы в частности). Логичный встречный вопрос: что защитит этот контролирующий процесс в случае его самоличного зависания, повреждения, затопления материка, локальных тайфунов или внезапного глобального катаклизма на нашей голубой планете — к сожалению, этот вопрос создателем nnCron пока непровентилирован в должной мере. А если серьёзно, ставка делается на его просто жуткую простоту, с тайной программистской надеждой, что типа «тут-то и глючить в этих двадцати строчках кода нечему…».

    Точка сборки всего: crontab

    Напоследок даю наводку на самый главный файл, куда все кроновые и скриптовые инструкции, подробно рассмотренные нами ранее (доступные, напомню, в двух синтаксисах: классическом и расширенном), бережно записываются и перечисляются. Это так называемый кронтаб-файл, в котором хранятся все данные вами царские повеления и директивы к исполнению. В жизни это обычный текстовый файл, который может быть создан и/или отредактирован в любом подручном текстовом редакторе.

    Количество подключенных кронтабов не ограничено, поэтому в случае масштабных автоматизационных действий против своей лени имеет смысл создать несколько разных кронтаб-файлов, чтобы тематически «разделить» запускаемые задачи: мне, например, удобно использовать кронтаб main.tab для повседневных задач, кронтаб backup.tab — для задач, связанных с резервным копированием, а кронтаб adv.tab — для всех задач, запускаемых по клавиатурным сокращениям и слежению за специальными папками и моей флешкой. По умолчанию программой создаётся и используется только один такой файл — nncron.tab.

    Все многочисленные настройки программы сохраняются и изменяются либо через упомянутую выше графическую оболочку, либо по-старинке напрямик — в конфигурационном файле nncron.ini.

    Также замечу, что для операций/автоматизаций с графическими оконными объектами (для получения текущих координат мыши, выяснения класса объекта, над которым находится мышь, получения информации о координатах основного и дочернего окна и т. п. деталей Win32API) вместе с программой поставляется в меру удобная бесплатная системная утилита WinSpy. А если вдруг вы программист, то я бы посоветовал вам самостоятельно обзавестись её более мощными сторонними аналогами —  комплектом из WinSpy++ и WinDozer.

    Этот таинственный мистер Форт

    Продолжим наше изложение с последнего озвученного мною допущения «а если вы вдруг программист». Поскольку мощь nnCron по-настоящему становится очевидной только при владении этим языком программирования, имеет смысл ну очень кратко остановиться и на нем. Фишка в том, что любая программная конструкция программы может быть как угодно «доразвита» за счет встроенной возможности интерпретировать команды языка Форт. Выходит, что вы получаете не просто законченный инструмент, а лишь мощную заготовку, которую вы можете доработать в соответствии со своими запросами (о’кей, альтернативный вариант — запросами вашего работодателя).

    Итак, Форт (а точнее, его отечественный диалект SP-Forth) — это язык программирования, в котором программы записываются в постфиксной записи и в стековой нотации, при этом он поддерживает механизмы метарасширения для изменения семантики и синтаксиса языка при настройке на конкретную предметную область. Синтаксис базового уровня в Форте прост и состоит из единственного правила: «Все определения разделяются пробелами».

    Определения Форта могут иметь любое сочетание символов, позволяя вам фактически строить свой, новый, язык на базе предыдущего языка (определений). Вот из этого слоеного теста и слеплен скриптовый язык-каркас для nnCron, оставляя за вами возможность долепить на его прочном фундаменте свою собственную «идеальную машину для автоматизации чего угодно» (или довольствоваться всем имеющимся). Именно поэтому я так и тянул, почти до конца статьи, со списком общих возможностей программы, потому что они… они бесконечны!

    И самый простой вариант для такого расширения в nnCron — плагины. Это обычные текстовые файлы с расширением .spf, выполненные как дополнительные модули nnCron, также написанные на языке Форт, которые расширяют функциональность программы за cчет добавления собственных новых слов (операторов и инструкций). В дистрибутив nnCron включено больше десятка полезных (и не очень) плагинов, которые располагаются в подкаталоге plugins домашней директории nnCron.

    В заключение, для всех начинающих метапрограммистов, очарованных магией языка Форт, я любезно приведу готовый ответ на первый ваш ещё невысказанный вопрос: как же вывести список всех Форт-слов, находящихся в словаре (читай — утробе) nnCron? Нет ничего проще: откройте Форт-консоль (для более традиционных программистов поясню, что это своего рода штатная дверь во внутренности программы, с которой вы, таким образом, имеете честь общаться, и это возможно как локально, так и удаленно — по сети) и введите туда команду WORDS. Да, чуть не забыл предупредить: приготовьтесь увидеть список, состоящий примерно из трех тысяч слов.

    Для всех желающих научиться расширять nnCron: с одной стороны, предлагаю начать свой экскурс в богатый мир языка Форт с этой информативной FAQ-странички, а с другой стороны, доверительно сообщаю, что вот здесь можно скачать исходники самой программы nnCron (и в довесок традиционная плохая новость — это далеко не самая последняя её версия). Помните, Форт — очень лаконичный язык, требующий глубокого предварительного размышления и трансцендентной медитации над кодом, не загрязненной нашим суетным постиндустриальным бытием.

    Для пояснения этой мысли просто процитирую первую строчку из книги «Пионеры программирования» знаменитого Чарльза Мура, начинающего главу №4 про язык Форт таким вот предложением:

    «Каждый раз, когда я слышу, как кто-то похваляется написанными им миллионами строк кода, я уверен, что этот человек вопиющим образом не разобрался в своей задаче».

    Гибрид планировщика, автоматизатора и скриптера…

    Долго идя от частного к общему, мы наконец-то вышли к перечислению основных направлений, которые эффективно решает nnCron, и вот на что он способен:

      • запускать произвольные программы (как и самого себя) как системные сервисы;
      • запускать задачи «от имени» указанных юзеров;
      • отслеживать и перезапускать просроченные задачи и напоминалки;
      • выключать или «усыплять» компьютер в заданное время, «будить» компьютер, чтобы запустить задачу;
      • отображать/скрывать/закрывать/убивать/сворачивать/разворачивать и прятать в системный трей заданные окна, добавлять в трей произвольные иконки и программы;
      • менять размер и местоположение окон, а также изменять их «прозрачность»;
      • выводить на экран и в лог-файл любые сообщения, в том числе и запросы на выполнение указанных действий;
      • работать с клипбордом, файлами и реестром;
      • эмулировать клавиатурный ввод и операции с мышкой;
      • звонить по модему и класть трубку;
      • воспроизводить аудиофайлы и «пищать» через системный динамик;
      • синхронизировать системное время;
      • присваивать процессам указанный приоритет и прерывать работу любых запущенных процессов;
      • автоматически перезапускаться после фатальных ошибок;
      • скриптовать всё остальное, неограниченно расширяя функциональность программы, на встроенном языке, метаязыке Форт, VBScript/Jscript, и всё это с поддержкой регулярных выражений;
      • nnCron способен отслеживать файлы, флаги, окна, процессы, движения мыши, время простоя компьютера, клавиатурные шорткаты, выход в онлайн/офлайн, появление диска в драйве, наличие хоста в сети (пинг), изменение удаленного ресурса по http-протоколу, количество свободного места на диске, загруженность оперативной памяти и многое-многое другое — после чего как-то автоматически обрабатывать все эти ситуации;
      • для тех, кому нужна «менее навороченная» и одновременно «более легкая» версия программы, специально собрана «лайт»-версия оной, которая тщательно оптимизирована и зачищена от излишеств, где оставлено лишь самое насущное и малогабаритное.

    Последние напутствия к действию

    У этой программы есть три существенных недостатка. Во-первых, обилие её полезных свойств таково, что для их эффективного использования надо сначала немного подучиться, посидеть и как следует разобраться (надеюсь, эта статья хоть немного поможет в этом). Кроме замечательной документации, начать изучение программы я рекомендую с очень доступного и простого пошагового «Вводного курса для начинающих», после чего желательно привентивно просмотреть FAQ к программе.

    Во-вторых, пожалуй, самый неприятный и печальный момент — разработка программы заброшена с 2009 года. Отчасти запас прочности (в рамках её функционала), данный ей в последней существующей версии 1.93, позволяет прекрасно себя чувствовать и доныне в полностью автономном от разработчиков режиме жизни, но, как и любая заброшенная вещь, программа всё же начинает морально устаревать. И главная текущая проблема в этом плане — плохая совместимость с Windows 7, для которой она никогда не тестировалась и не предназначалась. Впрочем, ряд добровольцев уже собрали свои собственные неофициальные и «подпиленные сборки» под Win7.

    Поэтому обладателям последней Windows можно сначала попробовать «специальные» сборки: можно взять такую от AskSoft или другую альтернативную от AlikasS (подробнее тута). У этих обеих сборок есть свои минусы и плюсы, поэтому призываю вас протестировать их и выбрать любимчика самостоятельно. Всем же остальным ОС-пользователям рекомендую воспользоваться официальной сборкой от nnSoft.

    В-третьих, нужно иметь в виду, что nnCron самой судьбой уготовано работать в тесной связке с родственной утилитой от этого же производителя — nnBackup. Говоря кратко, она на редкость удачна и обладает во многом схожей с nnCron системой устройства (я писал  про неё ранее вот тута). При этом даже сложно выделить целевое предназначение этих двух утилит: они одинаково удачно приживаются как на персональном компьютере, так и на серверах под управлением серверных версий Windows (доступный режим работы «как сервис» особенно подходит к последнему варианту).

    И в последнюю очередь приведу немаловажную деталь: nnCron бесплатен для граждан стран бывшего СССР (при условии некоммерческого и некорпоративного его использования). Подробную информацию о процедуре бесплатной регистрации можно найти тут.

    Разворачиваем cron в Windows / Хабр

    Стандартный планировщик Windows штука мощная, но столкнулся с проблемой, которая не позволила мне легко им пользоваться в «домашнем» выпуске Windows. Пришлось установить в систему настоящий cron. Ни капли не пожалел!
    Как к этому пришёл, и что из этого поучилось под катом.

    Пользователь без прав

    Всё началось с того, что я хотел запланировать задание. Нужно было каждую минуту выполнять простой cmd-скрипт, который подготавливал окружение и запускал некий скрипт на Python.
    Так как машина, на которой выполняется задание не основная рабочая, то нужно было выполнять задание, даже когда пользователь не зашёл в систему. Для этого был выбран режим:

    При сохранении задания планировщик предупредил, что для указанного пользователя нужно разрешить «Вход в качестве пакетного задания». Для этого предлагается изменить политику безопасности. Однако сделать это не удалось, так как в «домашней» версии Windows нет оснастки для управления политикой безопасности (буду благодарен за подсказку альтернативного решения).
    От запутанного конфигурирования стало как-то совсем грустно и захотелось мне иметь такой же простой и понятный инструмент как cron…

    Cronизация Windows

    Установка cron на Windows оказалась вполне реализуемой затеей. Я не стал искать специальной версии cron для Windows (поделитесь, если кто знает), а обратился сразу к Cygwin. Кроме стандартного пакета, я выбрал:

    С пакетом cron всё понятно. Пакет cygrunsrv позволяет запускать разные программы как службы. После установки Cygwin можно переходить к конфигурированию cron.

    Конфигурирование службы сron в Windows

    Теперь переходим к самому ответственному шагу. Запускаем «Cygwin Terminal» с правами администратора и набираем команду:

    > cron-config
    Cron is already installed as a service under account LocalSystem.
    Do you want to install the cron daemon as a service? (yes/no) yes
    Enter the value of CYGWIN for the daemon: [ ] ntsec
    Do you want to start the cron daemon as a service now? (yes/no) yes
    

    Про ntsec можно подробнее почитать здесь.

    Готово. Можно давать задания. Если служба не пошла, попробуйте её стартануть вручную:

    > net start cron
    

    Теперь открываете crontab и записываете задания (по умолчанию vi):

    > crontab.exe -e
    

    Можно «залить» задание через echo:

    > echo "*/5 * * * * /cygdrive/c/crons/task.bat" >> C:\cygwin\var\cron\tabs\[Username]
    

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

    Cron: что такое и как правильно использовать

    1. Что такое Cron
    2. Правильная настройка Cron
    3. Как добавить задние
    4. Полезные примеры заданий
    5. Запуск PHP-скриптов через Cron
    6. Какие есть ограничения?
    7. Cron и перезапуск сервера
    8. Отчет о работе Cron на почту

    Что это такое Cron?

    Cron — это планировщик заданий, который работает на Unix\Linux хостинге. Он позволяет автоматически выполнять определенные действия на сервере (запуск программ, скриптов и т.д.), с заданным временем или периодичностью.

    Правильная настройка планировщика заданий Cron

    Задания для Cron можно описать так — это несколько строк (одна строка — одно задание), в которых указывается периодичность запуска и команда (которая означает, что собственно нужно запустить):

    30 3 * * 2 /yourdirectory/myscript.pl

    Схематично:

    Минуты Часы ДеньМесяца Месяц ДеньНедели Команда

    Минуты — задается числом от 0 до 59

    Часы — задается числом от 0 до 23

    ДеньМесяца — задается числом от 1 до 31

    Месяц — задается числом от 1 до 12

    ДеньНедели — 1 — Понедельник, 2 — Вторник, 3 — Среда, 4 — Четверг, 5 — пятница, 6 — Суббота, 7 — Воскресенье

    Таким образом в нашем примере (30 3 * * 2 /yourdirectory/myscript.pl) задние означает, что нужно каждый вторник, в 3 часа 30 минут ночи запускать файл /yourdirectory/myscript.pl

    Также в каждом из полей мы можем использовать:

    Написание через запятую: 2,5,16 — если написать такое в поле Часы, то задание будет запускаться в 2 часа ночи, в 5 часов утра и в 16 часов.

    Интервал: 5-9 — если написать в это в поле Минуты, то задание будет запускаться каждую минуту в период с 5 по 9 мин.

    Дополнительная периодичность: /4 — если написать такое в поле часы, то это будет означат

    nnCron, nnCron LITE, nnBackup, nnSync

    nnCron — это продвинутая и очень

    мощный планировщик, инструмент для создания сценариев и автоматизация

    управляющий делами. nnCron очень маленький по размеру (900к),

    но его возможности поистине колоссальны. Кроме

    обладающий традиционными функциями планировщика

    (запуск программ, отображение напоминаний

    и открытие документов в указанное время), nnCron

    также может:

    • запускать любую программу как услугу
    • запускает задачи, как если бы они были запущены указанным

      пользователь

    • обрабатывать и перезапускать так называемые пропущенных задач

      и напоминания

    • выключить и перевести компьютер в спящий режим или поставить

      он в спящий режим в указанное время

    • «разбуди» компьютер по порядку

      для запуска задачи

    • показать, скрыть, закрыть, убить, свернуть, развернуть

      и скрыть указанные окна в системном трее

    • отображать сообщения на экране и записывать их

      в файле журнала

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

      длина и частота

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

      активность мыши, периоды простоя, клавиатура

      ярлыки, выход в онлайн / офлайн, вставка

      диска в приводе, наличие хоста в сети

      (пинг), количество свободного места на диске и т. д.,

      пр.

    nnCron понимает формат таблицы cron (Unix) и

    управляется легко редактируемым текстовым crontab

    файлы. Однако для тех, кто предпочитает работать в

    окружение GUI, программа имеет графический

    оболочку, которую можно использовать для удаления, добавления, редактирования и

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

    nnCron имеет собственный мощный (Forth-совместимый)

    язык сценариев, позволяет использовать VBScript / JScript,

    а также регулярные выражения, и может быть в дальнейшем

    расширен плагинами. Его можно начать как

    сервис или как обычное отдельное приложение.

    Вы можете подробно изучить возможности nnCron, прочитав

    это онлайн-документация.

    .

    Как использовать cron в Linux

    Эта статья была первоначально опубликована в ноябре 2017 года и была обновлена ​​для включения дополнительной информации.

    Одна из проблем (среди многих преимуществ) системного администратора — это выполнение задач, когда вы предпочитаете спать. Например, некоторые задачи (в том числе регулярно повторяющиеся) должны выполняться ночью или в выходные дни, когда ожидается, что никто не будет использовать ресурсы компьютера. У меня нет времени по вечерам, чтобы запускать команды и сценарии, которые должны работать в нерабочее время.И я не хочу вставать в темную сотню, чтобы начать резервное копирование или серьезное обновление.

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

    В этой статье я расскажу о службе cron и о том, как ее использовать.

    Обычный (и необычный) cron использует

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

    • Системное время (то есть время операционной системы) на многих моих компьютерах установлено с использованием протокола сетевого времени (NTP). Хотя NTP устанавливает системное время, он не устанавливает аппаратное время, которое может дрейфовать.Я использую cron для установки аппаратного времени на основе системного времени.
    • У меня также есть программа Bash, которую я запускаю каждое утро рано, которая создает новое «сообщение дня» (MOTD) на каждом компьютере. Он содержит информацию, такую ​​как использование диска, которая должна быть актуальной, чтобы быть полезной.
    • Многие системные процессы и службы, такие как Logwatch, logrotate и Rootkit Hunter, используют службу cron для планирования задач и запуска программ каждый день.

    Демон crond — это фоновая служба, обеспечивающая функциональность cron.

    Служба cron проверяет файлы в каталогах / var / spool / cron и /etc/cron.d и в файле / etc / anacrontab . Содержимое этих файлов определяет задания cron, которые должны запускаться с различными интервалами. Индивидуальные пользовательские файлы cron расположены в / var / spool / cron , а системные службы и приложения обычно добавляют файлы заданий cron в каталог /etc/cron.d . / etc / anacrontab — это особый случай, который будет рассмотрен позже в этой статье.

    Использование crontab

    Утилита cron запускается на основе команд, указанных в таблице cron ( crontab ). Каждый пользователь, включая root, может иметь файл cron. Эти файлы не существуют по умолчанию, но могут быть созданы в каталоге / var / spool / cron с помощью команды crontab -e , которая также используется для редактирования файла cron (см. Сценарий ниже). Я настоятельно рекомендую вам , а не , использовать стандартный редактор (такой как Vi, Vim, Emacs, Nano или любой из многих других доступных редакторов).Использование команды crontab не только позволяет редактировать команду, но и перезапускает демон crond при сохранении и выходе из редактора. Команда crontab использует Vi в качестве основного редактора, потому что Vi присутствует всегда (даже в самых простых установках).

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

     # crontab -e 
    SHELL = / bin / bash
    [email protected]
    PATH = / bin: / sbin: / usr / bin: / usr / sbin: / usr / local / bin: / usr / local / sbin

    # Подробности смотрите в man 4 crontabs

    # Пример определения задания:
    # .---------------- minute (0 - 59)
    # | .------------- час (0 - 23)
    # | | .---------- день месяца (1 - 31)
    # | | | .------- месяц (1 - 12) ИЛИ янв, фев, мар, апр ...
    # | | | | .---- день недели (0 - 6) (воскресенье = 0 или 7) ИЛИ вс, пн, вт, ср, чт, пт, сб
    # | | | | |
    # * * * * * команда имени пользователя для выполнения

    # резервное копирование с помощью программы rsbu на внутренний жесткий диск емкостью 4 ТБ, а затем на внешний жесткий диск 4 ТБ
    01 01 * * * / usr / local / bin / rsbu -vbd1; / usr / local / bin / rsbu -vbd2

    # Установите аппаратные часы, чтобы они синхронизировались с более точными системными часами.
    03 05 * * * / sbin / hwclock --systohc

    # Выполнять ежемесячные обновления при первой месяца
    # 25 04 1 * * / usr / bin / dnf -y update

    Команда crontab используется для просмотра или редактирования файлов cron.

    Первые три строки в приведенном выше коде устанавливают среду по умолчанию. Среда должна быть установлена ​​на все, что необходимо для данного пользователя, потому что cron не предоставляет среду любого типа. Переменная SHELL указывает оболочку, используемую при выполнении команд. В этом примере указывается оболочка Bash. Переменная MAILTO устанавливает адрес электронной почты, на который будут отправляться результаты задания cron. Эти электронные письма могут содержать информацию о состоянии задания cron (резервные копии, обновления и т. Д.) и состоят из вывода, который вы увидите, если запустите программу вручную из командной строки. Третья строка устанавливает PATH для среды. Несмотря на то, что путь указан здесь, я всегда добавляю полный путь к каждому исполняемому файлу.

    В приведенном выше примере есть несколько строк комментариев, в которых подробно описывается синтаксис, необходимый для определения задания cron. Я разобью эти команды, а затем добавлю еще несколько, чтобы показать вам некоторые дополнительные возможности файлов crontab.

      01 01 * * * / usr / local / bin / rsbu -vbd1; / usr / местный / бен / rsbu -vbd2  

    Эта строка в моем файле / etc / crontab запускает сценарий, который выполняет резервное копирование для моих систем.

    Эта строка запускает мой самописный сценарий оболочки Bash, rsbu , который выполняет резервное копирование всех моих систем. Эта работа начинается каждый день в 01.01 (01.01). Звездочки (*) в третьей, четвертой и пятой позициях спецификации времени подобны файловым глобусам или символам подстановки для других временных разделов; они определяют «каждый день месяца», «каждый месяц» и «каждый день недели». Эта строка запускает мои резервные копии дважды; один выполняет резервное копирование на внутренний выделенный жесткий диск для резервных копий, а другой — на внешний USB-накопитель, который я могу положить в сейф.

    Следующая строка устанавливает аппаратные часы на компьютере, используя системные часы в качестве источника точного времени. Эта линия настроена на запуск в 5:03 утра (03 05) каждый день.

      03 05 * * * / sbin / hwclock --systohc  

    Эта строка устанавливает аппаратные часы, используя системное время в качестве источника.

    Я использовал третье и последнее задание cron (закомментировано) для выполнения обновления dnf или yum в 04:25 утра в первый день каждого месяца, но я закомментировал его, поэтому он больше не запускается.

      # 25 04 1 * * / usr / bin / dnf -y update  

    Эта строка использовалась для ежемесячного обновления, но я закомментировал ее.

    Другие приемы планирования

    А теперь займемся кое-чем более интересным, чем эти основы. Предположим, вы хотите выполнять определенное задание каждый четверг в 15:00:

      00 15 * * Чт /usr/local/bin/mycronjob.sh  

    Эта строка запускает mycronjob.sh каждый четверг в 3 часа дня.м.

    Или, может быть, вам нужно создавать квартальные отчеты после окончания каждого квартала. У службы cron нет опции для «Последний день месяца», поэтому вместо этого вы можете использовать первый день следующего месяца, как показано ниже. (Это предполагает, что данные, необходимые для отчетов, будут готовы, когда задание будет запущено.)

      02 03 1 1,4,7,10 * /usr/local/bin/reports.sh  

    Это задание cron запускает квартальные отчеты в первый день месяца после окончания квартала.

    Ниже показано задание, которое выполняется через минуту каждый час с 9:01 до 17:01.

      01 09-17 * * * /usr/local/bin/hourlyreminder.sh  

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

    Я сталкивался с ситуациями, когда мне нужно запускать задание каждые два, три или четыре часа. Этого можно достичь, разделив часы на желаемый интервал, например * / 3 для каждых трех часов или 6-18 / 3 для работы каждые три часа между 6 часами a.м. и 18:00. Остальные интервалы можно разделить аналогично; например, выражение * / 15 в позиции минут означает «запускать задание каждые 15 минут».

      * / 5 08-18 / 2 * * * /usr/local/bin/mycronjob.sh  

    Это задание cron запускается каждые пять минут каждый час с 8:00 до 17:58.

    Одно замечание: выражения деления должны приводить к нулевому остатку для выполнения задания. Вот почему в этом примере задание запускается каждые пять минут (08:05, 08:10, 08:15 и т. Д.)) в четные часы с 8:00 до 18:00, но не в часы с нечетными номерами. Например, задание вообще не будет выполняться с 21:00. до 9:59

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

    Ограничение доступа к cron

    Обычные пользователи с доступом к cron могут совершать ошибки, которые, например, могут привести к перегрузке системных ресурсов (таких как память и время процессора). Чтобы предотвратить возможное неправильное использование, системный администратор может ограничить доступ пользователей, создав файл / etc / cron.allow , содержащий список всех пользователей, которым разрешено создавать задания cron. Невозможно запретить пользователю root использовать cron.

    Из-за того, что пользователи без полномочий root не могут создавать свои собственные задания cron, от root может потребоваться добавить свои задания cron в корневой crontab. «Но ждать!» ты говоришь. «Разве это не запускает эти задания от имени пользователя root?» Не обязательно. В первом примере этой статьи поле имени пользователя, показанное в комментариях, можно использовать для указания идентификатора пользователя, который должен иметь задание при запуске.Это предотвращает выполнение заданий указанного пользователя без полномочий root от имени root. В следующем примере показано определение задания, которое выполняет задание от имени пользователя «студент»:

      04 07 * * * студент /usr/local/bin/mycronjob.sh  

    Если пользователь не указан, задание запускается от имени пользователя, владеющего файлом crontab, в данном случае root.

    cron.d

    Каталог /etc/cron.d — это место, где некоторые приложения, такие как SpamAssassin и sysstat, устанавливают файлы cron.Поскольку нет пользователя spamassassin или sysstat, этим программам нужно место для размещения файлов cron, поэтому они помещаются в /etc/cron.d .

    Файл /etc/cron.d/sysstat ниже содержит задания cron, относящиеся к отчетам о деятельности системы (SAR). Эти файлы cron имеют тот же формат, что и пользовательские файлы cron.

     

    # Запускать инструмент учета активности системы каждые 10 минут
    * / 10 * * * * root / usr / lib64 / sa / sa1 1 1
    # Создавать ежедневную сводку учета процессов в 23:53
    53 23 * * * root / usr / lib64 / sa / sa2 -A

    Пакет sysstat устанавливает файл / etc / cron.d / sysstat cron для запуска программ для SAR.

    В файле cron sysstat есть две строки, которые выполняют задачи. Первая строка запускает программу sa1 каждые 10 минут для сбора данных, хранящихся в специальных двоичных файлах в каталоге / var / log / sa . Затем каждую ночь в 23:53 запускается программа sa2 для создания ежедневной сводки.

    Советы по планированию

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

    В одной управляемой мной системе было около десятка заданий cron, которые выполнялись каждую ночь, и еще три или четыре, которые выполнялись по выходным или в первое число месяца. Это было проблемой, потому что, если слишком много заданий выполнялось одновременно — особенно резервное копирование и компиляция — системе не хватало оперативной памяти и почти заполнялся файл подкачки, что приводило к сбоям системы, а производительность падала, поэтому ничего не делалось.Мы добавили больше памяти и улучшили планирование задач. Мы также удалили задачу, которая была написана очень плохо и потребляла большой объем памяти.

    Служба crond предполагает, что хост-компьютер работает все время. Это означает, что если компьютер выключен в период, когда было запланировано выполнение заданий cron, они не будут выполняться до следующего запланированного времени. Это может вызвать проблемы, если это критические задания cron. К счастью, есть еще один вариант для регулярного выполнения заданий: anacron .

    анакрон

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

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

    Программа anacron предоставляет несколько простых вариантов выполнения регулярно запланированных задач. Просто установите свои сценарии в каталоги /etc/cron.[hourly|daily|weekly|monthly] , в зависимости от того, как часто их нужно запускать.

    Как это работает? Последовательность проще, чем кажется на первый взгляд.

    1. Служба crond запускает задание cron, указанное в /etc/cron.d/0hourly .
     

    # Запускать почасовые задания
    SHELL = / bin / bash
    PATH = / sbin: / bin: / usr / sbin: / usr / bin
    MAILTO = root
    01 * * * * root run-parts / etc / cron.hourly

    Содержимое /etc/cron.d/0hourly вызывает запуск сценариев оболочки, расположенных в /etc/cron.hourly .

    1. Задание cron, указанное в / etc / cron.d / 0hourly запускает программу run-parts один раз в час.
    2. Программа run-parts запускает все сценарии, расположенные в каталоге /etc/cron.hourly .
    3. Каталог /etc/cron.hourly содержит сценарий 0anacron , который запускает программу anacron с использованием файла конфигурации / etdc / anacrontab , показанного здесь.
     # / etc / anacrontab: файл конфигурации для anacron 

    # Подробности см. В anacron (8) и anacrontab (5).

    SHELL = / bin / sh
    PATH = / sbin: / bin: / usr / sbin: / usr / bin
    MAILTO = root
    # максимальная случайная задержка, добавленная к базовой задержке заданий
    RANDOM_DELAY = 45
    # задания будут запускаться только в следующие часы
    START_HOURS_RANGE = 3-22

    # период в днях задержка в минутах команда идентификатора задания
    1 5 cron.daily nice run-parts /etc/cron.daily
    7 25 cron.еженедельные красивые run-parts /etc/cron.weekly
    @monthly 45 cron.monthly nice run-parts /etc/cron.monthly

    Содержимое файла / etc / anacrontab запускает исполняемые файлы в каталогах cron. [Daily | weekly | month] в подходящее время.

    1. Программа anacron запускает программы, расположенные в /etc/cron.daily , один раз в день; он выполняет задания, расположенные в /etc/cron.weekly , один раз в неделю, а задания в cron.ежемесячно раз в месяц. Обратите внимание на указанное время задержки в каждой строке, что помогает предотвратить перекрытие этих заданий и других заданий cron.

    Вместо того, чтобы помещать полные программы Bash в каталоги cron.X , я устанавливаю их в каталог / usr / local / bin , что позволяет мне легко запускать их из командной строки. Затем я добавляю символическую ссылку в соответствующий каталог cron, например /etc/cron.daily .

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

    Ярлыки

    Файл / etc / anacrontab , показанный выше, показывает нам ключ к тому, как мы можем использовать ярлыки в некоторых конкретных и общих случаях.Эти ярлыки времени, состоящие из одного слова, можно использовать для замены пяти полей, обычно используемых для указания времени. Символ @ используется для обозначения ярлыков для cron. В приведенном ниже списке, взятом из справочной страницы crontab (5), показаны ярлыки с их эквивалентным значением.

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

    Эти ярлыки можно использовать в любом из файлов crontab, например, в /etc/cron.d .

    Подробнее об установке лимитов

    Я использую большинство из этих методов для планирования задач, запускаемых на моих компьютерах. Все эти задачи нужно запускать с правами root.По моему опыту, обычным пользователям редко действительно нужна работа cron. В одном случае пользователь-разработчик нуждался в работе cron, чтобы начать ежедневную компиляцию в лаборатории разработки.

    Важно ограничить доступ к функциям cron для пользователей без полномочий root. Однако бывают обстоятельства, когда пользователю необходимо настроить выполнение задачи в заранее определенное время, и cron может разрешить это сделать. Многие пользователи не понимают, как правильно настроить эти задачи с помощью cron, и делают ошибки. Эти ошибки могут быть безвредными, но чаще всего они могут вызвать проблемы.За счет установки функциональных политик, которые заставляют пользователей взаимодействовать с системным администратором, отдельные задания cron с гораздо меньшей вероятностью будут мешать другим пользователям и другим функциям системы.

    Можно установить ограничения на общие ресурсы, которые могут быть выделены отдельным пользователям или группам, но это статья в другой раз.

    Для получения дополнительной информации, страницы руководства для cron, crontab, anacron, anacrontab и run-parts содержат отличную информацию и описания того, как работает система cron.

    .

    Как создать задание cron в Windows для вызова хранимой процедуры MySQL

    Переполнение стека

    1. Около
    2. Продукты

    3. Для команд
    1. Переполнение стека
      Общественные вопросы и ответы

    2. Переполнение стека для команд
      Где разработчики и технологи делятся частными знаниями с коллегами

    3. Вакансии
      Программирование и связанные с ним технические возможности карьерного роста

    4. Талант
      Нанимайте технических специалистов и создавайте свой бренд работодателя

    5. Реклама
      Обратитесь к разработчикам и технологам со всего мира

    6. О компании

    .

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *