В случае Linux он поставляется с двумя основными, но мощными инструментами: демон Cron (планировщик задач по умолчанию) и at (больше подходит для одноразового планирования задач).
В этом руководстве вы узнаете, как запланировать задачу в Linux.
Планирование задач в Linux
Cron
Демон cron отвечает за выполнение множества заданий в определенное время. Эти задачи обычно выполняются в фоновом режиме в запланированное время. Он предлагает большую гибкость независимо от задачи, независимо от интервала (час, неделя, месяц, год и т. Д.).
Cron отслеживает свои действия с помощью файла crontab. Файл crontab - это сценарий, который содержит всю необходимую информацию для запуска всех заданий cron.
Давайте кратко рассмотрим основы использования cron. В случае любой из следующих команд он будет настроен для пользователя root, если он будет запущен с привилегиями sudo. Для демонстрации я взял отсюда образец файла crontab.
Чтобы вывести список всех запланированных заданий cron для текущего пользователя, выполните следующую команду. Он распечатает все содержимое файла crontab.
$ crontab -l
Хотите список заданий cron для другого пользователя? Вместо этого запустите эту команду.
Чтобы отредактировать скрипт crontab, запустите команду. Чтобы отредактировать файл crontab для root, выполните следующую команду с привилегиями sudo.
Каждая строка в скрипте crontab определяет задачу. Вот краткое описание записей crontab.
Вот список всех возможных значений для всех этих полей. Если вместо числового значения используется звездочка (*), будут использоваться все возможные значения поля.
- минут: от 0 до 59
- часы: с 0 до 23
- день месяца: с 1 по 31
- месяц: с 1 по 12
- день недели: от 0 (воскресенье) до 6 (суббота)
Чтобы получить подробное руководство по использованию crontab для автоматизации задач, ознакомьтесь с тем, как настроить задания cron в Linux. Вот еще один быстрый пример задания cron, выполняемого каждую минуту.
в
Хотя cron является основным способом планирования задач, at предлагает возможность запускать команду / скрипт в определенное время или с фиксированным интервалом, обратите внимание, что at будет запускать целевое задание один раз, тогда как cron будет повторно запускать задание с интервалом. Инструмент at менее популярен по сравнению с cron, но его относительно проще использовать. Вы можете использовать определенные ключевые слова, например, полночь или чаепитие (4 P.M.).
Этот инструмент не предустановлен в большинстве дистрибутивов Linux. Чтобы установить в, запустите соответствующую команду в соответствии с вашим дистрибутивом.
Для Debian / Ubuntu и производных.
$ Sudo apt install -y в
Для CentOS / RHEL и производных.
Для Arch Linux и производных.
$ sudo Pacman -S вДля Fedora и производных.
$ sudo dnf install atПосле завершения установки включите демон at.
$ sudo systemctl enable --now atd.услуга
На работе все немного по-другому. Каждый раз, когда звоните в, вы должны определить интервал выполнения желаемой задачи. Например, чтобы запустить определенную команду через час, используйте следующую команду.
Для запуска желаемой задачи в 6 P.M., через шесть дней вместо этого выполните следующую команду.
Когда вы запускаете команду, at будет запрашивать запуск команды (ей). Чтобы выйти из приглашения, нажмите «Ctrl + d».»По желанию будет представлена сводка запланированных задач и время их выполнения.
Это просто базовое использование. Более последовательный способ использования at может заключаться в выполнении сценария bash, содержащего все задачи, которые необходимо выполнить. Хотите узнать больше о сценариях bash? Проверять
$ в 18:00 + 6 дней -ff