Продвижение

Продающий сайт

партнерские программы

Страницы, содержащие cron

в ОС Unix существует возможность запускать программы пользователя в указанное им время. Для этого используется программа cron, которая получает инструкции от пользователей и следуя им производит выполнение любых задач по полученным сценариям. cron — демон-планировщик задач в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в заданное время. Утилита cron выполняет команды в заданное время. Регулярные действия описываются инструкциями, помещенными в файлы crontab, которые находятся в каталоге[1]: /usr/spool/cron/crontabs или /var/spool/cron/crontabs редактировать их вручную не рекомендуется, для этого используют crontab. Основной файл конфигурации cron, /etc/crontab, выглядит примерно так: # /etc/crontab: system-wide crontab # Unlike any other crontab you don't have to run the `crontab' # command to install the new version when you edit this file # and files in /etc/cron.d. These files also have username fields, # that none of the other crontabs do. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 17 * * * * root cd / && run-parts --report /etc/cron.hourly 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ) 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly ) # crontab Каждый пользователь системы имеет свой файл заданий crontab, в котором описано, в какое время и какие программы запускать от имени этого пользователя. Для редактирования файла crontab используется специальная одноименная программа crontab, позволяющая не прерывать процесс cron на время редактирования. Для редактирования файла crontab вашего пользователя используется команда[2]: crontab -e Таблица crontab состоит из 6 колонок, разделяемых пробелами или табуляторами. Первые пять колонок задают время выполнения (Минута, Час, День, Месяц, День недели), в них может находиться число, список чисел, разделённых запятыми, диапазон чисел, разделённых тире, или символ '*'. Все остальные символы в строке интерпретируются как выполняемая команда с её параметрами. Если команда отправляет какой-нибудь текст в стандартный вывод, этот текст отправляется по e-mail пользователю. * * * * * выполняемая команда - - - - - | | | | | | | | | ----- День недели (0 - 7) (Воскресенье =0 или =7) | | | ------- Месяц (1 - 12) | | --------- День (1 - 31) | ----------- Час (0 - 23) ------------- Минута (0 - 59) Пример файла crontab: # как обычно, с символа '#' начинаются комментарии # в качестве командного интерпретатора использовать /bin/sh SHELL=/bin/sh # результаты работы отправлять по этому адресу MAILTO=paul@example.org # добавить в PATH PATH=$PATH:$HOME/bin #### Здесь начинаются задания # выполнять каждый день в 0 часов 5 минут, результат складывать в log/daily 5 0 * * * $HOME/bin/daily.job >> $HOME/log/daily 2>&1 # выполнять 1 числа каждого месяца в 14 часов 15 минут 15 14 1 * * $HOME/bin/monthly # каждый рабочий день в 22:00 0 22 * * 1-5 echo "Пора домой" | mail -s "Уже 22:00" john 23 */2 * * * echo "Выполняется в 0:23, 2:23, 4:23 и т. д." 5 4 * * sun echo "Выполняется в 4:05 в воскресенье" 0 0 1 1 * echo "С новым годом!" 15 10,13 * * 1,4 echo "Эта надпись выводится в понедельник и четверг в 10:15 и 13:15" 0-59 * * * * echo "Выполняется ежеминутно" # каждые 5 минут */5 * * * * echo "Прошло пять минут" Пример Сrontab в Ubuntu 9.10 Редактируем от пользователя user sudo crontab -e -u user где user -пользователь от имени которого будет производиться запуск. # m h dom mon dow command # Запускаю eMule ночью в 1 час ночи 10 минут 10 1 * * * export DISPLAY=:0 && amule # Останавливаю Emule утром в 10 часов 10 минут 10 10 * * * export DISPLAY=:0 && killall amule '#' - является комментарием. export DISPLAY=:0 && -Выводим на дисплей (если есть что выводить) Перезапускаем cron sudo /etc/init.d/cron restart Стоит добавить, чтобы задачи выполнялась корректно, необходимо в конце файла с заданием оставить пустую строку,которая создается crontab по умолчанию

Подписка

RSS-материал


Яндекс.Метрика