Изучите Linux

Как создать Cron Jobs в Linux

Как создать Cron Jobs в Linux

Задание Cron или Cron - это планировщик на основе времени, распространенный в системах Linux / Unix. Он планирует периодическое выполнение определенных пользовательских задач в фиксированную дату, время или интервалы. Большинство этих задач представляют собой сценарии для выполнения таких функций, как резервное копирование и т. Д. Для создания этих заданий cron мы используем команды crontab. Crontab - это команда / утилита UNIX, используемая для создания заданий cron и управления ими.

Как вы увидите ниже, создать и отредактировать задание cron довольно просто. Самое удивительное, что вам не нужно перезапускать cron или даже компьютер после создания или редактирования задания cron. Просто сохраните файл, и все готово.

Распространенное использование Cron Jobs

Основные части команды cron

Стандартный синтаксис crontab следующий:

a b c d e ИМЯ ПОЛЬЗОВАТЕЛЯ / путь / к / выходным данным сценария

1.Время и дата, а также степень повторяемости задания указываются в пяти полях:

Примечание. Дни начинаются с понедельника. 0 и 7 представляют воскресенье

2. ИМЯ ПОЛЬЗОВАТЕЛЯ: Не забудьте заменить это на свое имя пользователя

3. Конкретное место и сценарий, который должен быть выполнен cron, указаны в третьем сегменте:

/ путь / к / скрипту

4. В последнем разделе определяется уведомление пользователя о завершении задания как способ отслеживания задач:

выход

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

> / dev / null 2> & 1 e.g a b c d e ИМЯ ПОЛЬЗОВАТЕЛЯ / путь / к / скрипту> / dev / null 2> & 1

Кроме того, cron использует еще четыре значения, используемых при указании нескольких значений в поле. Они есть:

Настройка заданий cron

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

Перед тем, как приступить к работе с заданиями cron, важно убедиться, что ваш рабочий стол или сервер Linux обновлен, выполнив следующие команды:

sudo apt update sudo apt upgrade

Если в вашей системе не установлен пакет cron, установите его с помощью следующей команды:

sudo apt-get install cron

Установить cron

Как отредактировать файл crontab?

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

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

crontab -e

Система предложит вам выбрать подходящий редактор. В нашем случае мы выберем первый вариант (редактор nano).

crontab -e

Вы можете добавить по одной запланированной задаче в каждой строке в соответствии с вашими предпочтениями.

crontab файл

После добавления задач завершите сохранением файла и выйдите. Все предоставленные инструкции будут прочитаны и выполнены демоном cron. Изменения будут применены даже без перезапуска системы, так как репозиторий обновляется автоматически.

Редактировать crontab для другого пользователя

Crontab можно редактировать для разных пользователей, используя команду в синтаксисе ниже:

crontab -u другое_имя_пользователя -e

Как использовать специальные символы в командах crontab

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

0 6 * * 1-5 / корень / резервная копия.ш

Здесь 06 означает 6 утра, 1-5 означает количество дней (с понедельника по пятницу).

35 1-23 / 2 * * * / путь / к / скрипту / скрипту.ш

1-23 указывает диапазон часов, / 2 устанавливает интервал на каждый второй час.

Параметры Cron

Вы можете указать список заданий cron в вашей системе, не разблокируя файл конфигурации crontab. Это можно сделать, запустив терминал и набрав команду ниже:

crontab -l

список заданий cron

Эта команда перечисляет все задания cron, присутствующие в вашей системе.

Чтобы удалить все команды crontab, вы можете использовать следующую команду:

crontab -r
crontab -r -u другое-имя пользователя

Используйте строки в Crontab

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

@ почасово: -то же, что и - «0 * * * *» (Выполняется один раз каждые час)
@полночь:  -то же, что и - «0 0 * * *» (Выполняется один раз каждые день)
@ежедневно: так же, как полночь
@ еженедельно:  -то же, что - «0 0 * * 0» (Выполняется один раз каждые неделя)
@monthly: -то же, что - «0 0 1 * *» (Выполняется один раз каждые месяц)
@ ежегодно: -то же, что и - «0 0 1 1 *» (Выполняется один раз каждые год)
@ год: похоже на @annually
@перезагружать: Выполняется один раз после каждой перезагрузки / перезапуска / запуска.

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

@daily / путь / к / backup_script.ш

Примеры заданий cron

Вот список основных заданий cron, которые можно использовать при начале работы:

    1. Чтобы запускать скрипт каждую минуту:
      * * * * * / ваш / скрипт / путь.ш
    2. Чтобы запускать скрипт каждые 40 минут:
      40 * * * * / ваш / скрипт / путь.ш
    3. Чтобы запускать скрипт каждый час:
      0 * * * * / ваш / скрипт / путь.ш
    4. Чтобы запускать скрипт каждую полночь:
      0 0 * * * / ваш / скрипт / путь.ш
    5. Чтобы запускать скрипт каждые 23 минуты после полуночи, 2:00 и 4:00 каждый день:
      23 0-23 / 2 * * * / ваш / скрипт / путь.ш
    6. Чтобы запустить скрипт на 4.05 каждое воскресенье.
      5 4 * * солнце / ваш / скрипт / путь.ш
    7. Запускать скрипт в 22:00 по будням.
      0 22 * ​​* 1-5 / ваш / скрипт / путь.ш
    8. Для запуска скрипта 1 декабря - полночь.
      0 0 0 12 * / ваш / скрипт / путь.ш
    9. Чтобы запустить скрипт в субботу в полночь.
      0 0 * * 6 / ваш / скрипт / путь.ш
    10. Запускать скрипт каждый час.
      0 * * * * / ваш / скрипт / путь.ш

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

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

Мы видим, что cron-задания могут быть весьма кстати, особенно если вы хотите автоматизировать свои задачи. Однако это также может быть рискованно, если система позволяет любому пользователю создавать задание cron. Даже если это не влияет на личные данные, некоторые задания cron могут отнимать довольно много системных ресурсов, что приводит к отставанию ПК. Чтобы избежать таких сценариев, системный администратор (пользователь root) может создать / etc / cron.позволять  или же / etc / cron.отказываться от файл, содержащий только пользователей, которые могут 'создавать / не создавать' работа cron.

В / etc / cron.позволять файл содержит пользователей, которые могут создавать, редактировать, отображать или удалять файлы crontab. Если этот файл не существует, все пользователи могут создавать задания cron и управлять ими, кроме тех, которые находятся в / etc / cron.отказываться от файл. Если ни один из этих файлов отсутствует, для запуска команды crontab требуются права суперпользователя.

cron разрешить файл

Теперь, когда вы запретили пользователям без полномочий root создавать задания cron, если они уже были, вы можете подумать о добавлении их заданий cron в корневой файл crontab. Но вот загадка: добавляя свои cron-задания в корневой crontab, разве это не запускает их cron-задания как root?? Ну, вот и важность поля USERNAME, которое мы обсуждали выше в синтаксисе команды cron. Например, команда ниже:

0 * * * * fosslinux / путь / к / скрипту.ш

Будет работать как пользовательское задание cron «fosslinux», а не как пользователь root.

Заключение

Теперь у вас есть четкое руководство по использованию заданий Cron для автоматизации различных задач в вашей системе. Это не должно сбивать вас с толку со стартовыми приложениями. Используйте приведенные выше примеры, чтобы попытаться автоматизировать простые скрипты. Со временем вы можете комбинировать специальные символы и подстановочные знаки, чтобы выполнять гораздо более приземленные задачи. Если вы только начинаете, было бы здорово прочитать наш пост в руководстве по созданию сценариев bash с примерами, которые помогут вам создать свой первый сценарий.

Как изменить настройки мыши и сенсорной панели с помощью Xinput в Linux
Большинство дистрибутивов Linux по умолчанию поставляются с библиотекой libinput для обработки событий ввода в системе. Он может обрабатывать события ...
Переназначьте кнопки мыши по-разному для разных программ с помощью X-Mouse Button Control
Может быть, вам нужен инструмент, который мог бы изменять управление вашей мышью с каждым приложением, которое вы используете. В этом случае вы можете...
Обзор беспроводной мыши Microsoft Sculpt Touch
Я недавно прочитал о Microsoft Sculpt Touch беспроводная мышь и решил ее купить. Побывав некоторое время, я решил поделиться своим опытом с ним. Эта б...