cron-&-crontab,-объяснение

Если вы хотите планировать задачи в Linux, вы должны знать все данные Крон и Кронтаб.

Что такое Cron и Crontab в Linux?

Планирование задач в операционной системе Linux теперь стало проще, и это связано с использованием Крон и Кронтраб, но для лучшего понимания предмета важно знать все его детали и что каждая из них означает?

Что такое Крон?

Слово Cron происходит от греческого Chronos, что переводится как время, его функция в Linux такова. организовывать и управлять всеми задачами или действиями, которые находятся в фоновом режиме, но они запускают процессы через очень регулярные промежутки времени. То есть все действия, которые вы хотите осуществить за несколько минут, часов, недель или месяцев.

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

Как работает Хрон?

Крон также известен как "дьявол", и это начинается с /etc/rc.d или также как, /etc/инит.д; Это будет зависеть от вашего дистрибутива. Кроме того, это происходит на заднем плане, или так называемом фоне.

По этой причине он отвечает за частую проверку всех задач и действий, найденных в таблице crontab. /и т.д./управление, или в /вар/spool/cron, поиск некоторых задач, которые еще не выполнены.

Лучше всего то, что вы можете добавлять свои собственные команды или сценарии, чтобы некоторые процессы выполнялись автоматически. Например, когда вам нужно обновить систему или когда вам нужны резервные копии.

Что такое Кронтаб?

Это текстовый файл, в котором сохраняются и систематизируются все задачи, запланированные вами в Cron. Основная функция просмотрите время и даты, в которые должна выполняться каждая команда или сценарий.

Следует знать, что у каждого из пользователей есть контраб, и поэтому, когда это пользователь root, делается ссылка на /etc/контраб, а в другом случае будет использоваться только команда contrab.

Одной из его особенностей является то, что он помогает организовать все задачи в многопользовательской системе. То есть, если вы root или простой пользователь, вы все равно можете его использовать.

Как работает Кронтаб?

Проще всего объяснить, как работает Crotab, на примере. Автоматизация задачи обновления Linux — одна из самых частых.

Чтобы начать этот процесс, вы должны создать скрипт, он будет называться »хрон», он должен правильно выполнить все назначенные ему инструкции, но сначала важно выполнить различные тесты и попробовать несколько способов, прежде чем включать его в cron:

  • #! / Bin / Баш
  • #script (пример обновления)
  • #выберите дистрибутив
  • #debian-ubuntu
  • #apt-get update&apt-get -y upgrade
  • #федора
  • #ням-у обновление
  • #Арка
  • #pacman --noconfirm -Сью

Если речь идет об Ubuntu/Debian, важно, чтобы # был удален именно там, где находится apt-get. Затем вы должны сохранить скрипт с именем update.sh и изменить разрешения для его выполнения, поместив: chmod a + x ~ / скрипты / update.sh

Вы должны запустить скрипт, чтобы убедиться, что все выполняется без проблем. Следите за тем, чтобы не было ни единой ошибки, иначе в процессе будут сбои. И последний шаг в этом случае — добавить задачу в контраб.

Как добавить задачи в crontab?

Теперь пришло время запустить редактирование crontab с помощью »контраб-е», и это должно выглядеть так: # mh dom mon dow пользовательская команда. Каждая из этих букв или слов имеет значение, и мы упоминаем об этом ниже:

  • m: Это относится к минутам, которые потребуются для выполнения скрипта, значения варьируются от до 59.
  • h: Это означает час, используемый формат — 24 часа, а значения варьируются от 0 до 23.
  • дом: Это день месяца.
  • Доу: Это относится к дням недели, значения идут от 0 до 7, где, очевидно, 7 означает воскресенье.
  • Пользователь: Имя пользователя, под которым запущена команда, либо root, либо что-то другое.
  • команда: Относится к команде или пути, используемому для сценария.

Примеры объясненных задач cron

  • 15 10 * * * пользователь/человек/пользователь/скрипты/update.sh. Вы должны запускать скрипт update.sh каждый день в 10:15.
  • 15 22 * ​​* * пользователь/домашний/пользователь/скрипты/update.sh. В этом примере задача будет выполнять скрипт каждый день в 22:15.
  • 00 10 * * 0 root apt-get -y update Пользователь root. Конкретно скрипт выполняется по воскресеньям в 10:00
  • 45 10 * * sun root apt-get -y update. В этом случае пользователь root и будет выполнять обновление только по воскресеньям, представленным "солнце" в 10:45 утра
  • 30 7 20 11 * пользователь /home/user/scripts/update.sh. Скрипт должен быть выполнен 20 ноября в 7:30 утра.
  • 30 7 11 11 пользователь солнца /home/user/scripts/cake_with_candles.sh. Задача состоит в том, что 11 ноября в 7:30 утра, если это воскресенье пользователь должен отметить сисадмина.
  • Также можно использовать некоторые специальные команды, например: 30 17 * * 1,2,3,4,5. Это означает, что в 5:30 с понедельника по пятницу скрипт должен быть выполнен.
  • 00 12 1,15, 28 * *. Это означает, что в 12 часов дня должны исполняться первого, пятнадцатого и 28-го числа каждого месяца.

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

  • @перезагружать: выполняется один раз при запуске.
  • @yearly: Вы должны запускать скрипт только один раз в год 0 0 1 1 *.
  • @ ежегодно: Используется так же, как и предыдущий.
  • @monthly: Это означает, что скрипт должен выполняться только один день в месяц, а именно в первый день 0 0 1 * *.
  • @еженедельная неделяl: Это означает первую минуту первого часа недели 0 0 * * 0».
  • @ежедневно: Запускает скрипт каждый день в 12 00 0 * * *.
  • @midnight: Он имеет ту же функцию, что и предыдущий.
  • @по часам: Скрипт должен выполняться в первую минуту каждого 0 * * * *.

Управление заданиями cron

  • кронтаб-файл: Используется для замены уже существующего в контрабе файла другим.
  • кронтаб -е: Он используется для редактирования файла contrab, и с каждой новой строкой ставится новая задача.
  • контраб - я: При этом вы можете создать список пользовательских задач, найденных в контрабе.
  • контраб -д: Он работает для удаления контраба пользователя.
  • контраб -c директор: Это для определения каталога и crontab пользователя. Помните, что он должен иметь все права на запись и выполнение пользователя.
  • пароль -u пользователь: это префикс, используемый для получения контроля над паролем другого пользователя: $ sudo crontab -l -u root; $ sudo crontab -e пользователь2; #crontab -d -u пользователь.

По Redaccion