WHAT'S NEW?
Loading...

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

  • Ниже указан формат файла crontab
------------- минуты (0 - 59)
| ----------- час (0 - 23)
| | --------- день месяца (1 - 31)
| | | ------- месяц (1 - 12)
| | | | ----- день недели (0 - 6) (Воскресенье=0)
| | | | |
* * * * * команда_для_запуска
  • Запятая (',') определяет список значений, например: "1,3,4,7,8"
  • Тире ('-') определяет диапазон значений, например: "1-6", что эквивалентно "1,2,3,4,5,6"
  • Звездочка ('*') определяет все допустимые значения поля. Например, звездочка в поле часы будет эквивалентно значению 'каждый час'..
  • Слэш ('/') может использоваться для пропуска данного числа значений. Например, "*/3" в поле часы эквивалентно строке "0,3,6,9,12,15,18,21"; "*" означает 'ежечасно', но "/3" устанавливает использовать только первое, четвертое, седьмое...и так далее значение определенное "*".
  • Просмотр crontab
crontab -l
  • Редактирование crontab
crontab -e 
  • Задания cron запускаются для каждого пользователя, однако, если вы хотите запускать команды cron от имени пользователя root используйте
sudo crontab -e
  • Если результатом выполнения команды из crontab являются какие-то выходные данные, то демон cron обычно высылает эти данные пользователю по email. Что бы отключить данную функцию для любой специфичной команды, вы можете перенаправить вывод на /dev/null. Для отключения пересылки сообщений по email из crontab добавьте в строку вызова команды
> /dev/null 2>&1
  • Это позволит перенаправить вывод на устройство /dev/null, однако, если возникнут ошибки, то вы их тоже не увидите:
[править] Примеры заданий cron
  • для выполнения команды (ls) вызываемой ежедневно в 4:30pm, добавьте следующую строку в cron:
30 16 * * * ls
  • для выполнения команды (ls) вызываемой каждые 5 минут, добавьте следующую строку в cron:
*/5 * * * * ls
  • для выполнения команды (ls) вызываемой каждую пятницу в 6:57am, добавьте следующую строку в cron:
57 6 * * 5 ls
  • для выполнения команды (ls) вызываемой один раз в месяц в 2:38pm, добавьте следующую строку в cron:
38 14 1 * * ls
  • для выполнения команды (echo "string") вызываемой по будням в 12:00pm, добавьте следующую строку в cron:
0 12 * * 1-5 echo "lunchtime"
  • для выполнения команды (echo "string") вызываемой каждый раз 25-го декабря в 12:00am, добавьте следующую строку в cron:
0 0 25 12 * echo "CHRISTMAS TIME IS HERE!!!"

11 комментариев: Leave Your Comments

  1. Анонимный03 июля, 2012 21:09

    спасибо! самый лучший мануал по кронтабу который я когда либо встречал на просторах интернета

    ОтветитьУдалить
  2. Анонимный15 ноября, 2013 11:41

    Просто супер!

    ОтветитьУдалить
  3. нет главного. как запустить шелл скрипт. и где он по умолчанию располагается. моя задача с логикой. по этому важно вынести в отдельный скрипт. думаю у многих такие задачи встречаются.

    ОтветитьУдалить
  4. Анонимный03 апреля, 2018 10:23

    воскресенье - "о" или "1"?

    ОтветитьУдалить
    Ответы
    1. Анонимный04 июля, 2018 15:51

      Вс 0, пн 1, вт 2, ср 3, чт 4, пт 5, сб 6.

      Удалить