Как планировать задачи в Linux: введение в файлы Crontab

Демон cron в Linux запускает задачи в фоновое время в определенное время; это как планировщик задач в Windows. Добавьте задачи в файлы crontab вашей системы, используя соответствующий синтаксис, и cron автоматически запустит их за вас.

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

Открытие Crontab

Сначала откройте окно терминала из меню приложений рабочего стола Linux. Вы можете щелкнуть значок Dash, ввести Терминал и нажать Enter, чтобы открыть его, если вы используете Ubuntu.

Используйте команду crontab -e, чтобы открыть файл crontab вашей учетной записи. Команды в этом файле запускаются с разрешениями вашей учетной записи. Если вы хотите, чтобы команда запускалась с системными разрешениями, используйте команду sudo crontab -e, чтобы открыть файл crontab учетной записи root. Вместо этого используйте команду su -c «crontab -e», если ваш дистрибутив Linux не использует sudo.

Вас могут попросить выбрать редактора. Выберите Nano, если он доступен, набрав его номер и нажав Enter. Опытные пользователи могут предпочесть Vi и другие более продвинутые редакторы, но с Nano легко начать работу.

Вы увидите текстовый редактор Nano, обозначенный заголовком «GNU nano» в верхней части окна терминала. Если вы этого не сделаете, возможно, crontab открыт в текстовом редакторе vi.

Если вам неудобно пользоваться vi, вы можете ввести : выйти в vi и нажать Enter, чтобы закрыть его. Запустите команду export EDITOR = nano , затем снова запустите crontab -e, чтобы открыть файл crontab в Nano.

Добавление новых задач

С помощью клавиш со стрелками или клавиши page down прокрутите файл crontab до конца в Nano. Строки, начинающиеся с символа #, являются строками комментариев, что означает, что cron их игнорирует. Комментарии просто предоставляют информацию людям, редактирующим файл.

Строки в файле crontab записываются в следующей последовательности со следующими допустимыми значениями:

минута (0-59) час (0-23) день (1-31) месяц (1-12) день недели (0-6) команда

Вы можете использовать символ звездочки (*) для соответствия любому значению. Например, использование звездочки для месяца приведет к тому, что команда будет выполняться каждый месяц.

Например, предположим, что мы хотим запускать команду / usr / bin / example в 12:30 каждый день. Мы набирали:

29 0 * * * / usr / bin / пример

Мы используем 29 для 30-минутной отметки и 0 для 12 часов утра, потому что значения минут, часов и дней недели начинаются с 0. Обратите внимание, что значения дня и месяца начинаются с 1 вместо 0.

Несколько значений и диапазонов

Используйте значения, разделенные запятыми, чтобы указать несколько раз. Например, строка

0,14,29,44 * * * * / usr / bin / example2

запускает / usr / bin / example2 на отметке 15 минут каждый час, каждый день. Убедитесь, что вы добавляете каждую новую задачу в новую строку.

Используйте значения, разделенные тире, чтобы указать диапазон значений. Например, строка

0 11 * 1-6 * / usr / bin / example3

запускает / usr / bin / example3 в полдень каждый день, но только в первые шесть месяцев года.

Сохранение файла

Нажмите Ctrl-O и нажмите Enter, чтобы сохранить файл crontab в Nano. Используйте сочетание клавиш Ctrl-X, чтобы закрыть Nano после сохранения файла.

Вы увидите сообщение «crontab: установка нового crontab», указывающее, что ваш новый файл crontab был успешно установлен.