Skip to main content

Тема 5 Планировщик

Отлично! Теперь, когда ты умеешь управлять процессами, давай перейдём к ещё одной важной теме — планирование задач. В Linux можно автоматизировать выполнение задач с помощью инструментов, таких как cron и at. Это похоже на волшебную кнопку, которая заставляет компьютер делать определённые вещи по расписанию, даже если ты не у компьютера!

Тема 8: Планирование задач (cron, at)

Представь себе:

Планирование задач — это как создать список дел для твоего компьютера. Ты говоришь ему, когда и что делать, и он выполняет всё без напоминаний. Это очень удобно для регулярных задач, таких как резервное копирование, очистка временных файлов или проверка обновлений.


Планировщик cron

cron — это системная служба, которая позволяет запускать команды по расписанию. Команды и задания для cron сохраняются в специальном файле, который называется crontab (от англ. "cron table").

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

Каждая запись в crontab выглядит как строка, которая состоит из пяти полей и команды. Вот как выглядит пример:

javascript

Copy code

* * * * * /path/to/command

Поля означают:

  • Первое поле: Минуты (от 0 до 59)

  • Второе поле: Часы (от 0 до 23)

  • Третье поле: Дни месяца (от 1 до 31)

  • Четвёртое поле: Месяцы (от 1 до 12)

  • Пятое поле: Дни недели (от 0 до 7, где 0 и 7 — это воскресенье)

  • Команда: Собственно, команда, которую нужно выполнить.

Пример задания cron

Если ты хочешь, чтобы команда выполнялась каждый день в 3:00 утра, твоя запись в crontab будет выглядеть так:

javascript

Copy code

0 3 * * * /path/to/command

Основные команды cron
  1. Просмотр crontab: Чтобы просмотреть текущие задания, используй:

    Copy code

    crontab -l

  2. Редактирование crontab: Чтобы добавить новое задание, открой crontab для редактирования:

    Copy code

    crontab -e

  3. Удаление всех задач: Если ты хочешь удалить все задания, используй:

    Copy code

    crontab -r


Планировщик at

В отличие от cron, который предназначен для регулярных задач, at используется для одноразового выполнения задач в будущем.

Как работает at?
  1. Запланировать задачу с at:

    Чтобы запланировать одноразовую задачу, просто введи команду at с указанием времени, например:

    Copy code

    at 15:00

    После этого введи команду, которую хочешь выполнить. Например:

    bash

    Copy code

    echo "Hello, World!" > /home/user/hello.txt

    Заверши ввод, нажав Ctrl+D.

  2. Просмотр запланированных задач:

    Чтобы увидеть все запланированные задачи, используй:

    Copy code

    atq

  3. Удаление запланированной задачи:

    Если нужно отменить задачу, используй команду atrm и номер задания (его можно найти с помощью команды atq):

    php

    Copy code

    atrm <номер задания>


Пингви подсказывает:

"Представь, что cron и at — это твои личные помощники, которые выполняют задачи за тебя по расписанию. Они следят за временем, чтобы ты мог сосредоточиться на чём-то другом!"


Практическое задание

  1. Запланируй задачу через cron. Открой crontab с помощью crontab -e и добавь задание, которое будет запускаться каждый день в 12:00 и записывать текущее время в файл /home/user/time.log:

    lua

    Copy code

    0 12 * * * date >> /home/user/time.log

  2. Проверь список cron задач. Используй команду crontab -l, чтобы убедиться, что задание добавлено.

  3. Запланируй одноразовую задачу с помощью at. Используй at, чтобы запланировать задачу на ближайшие 5 минут. Пусть она создаёт файл с сообщением:

    bash

    Copy code

    at now + 5 minutes echo "Task completed" > /home/user/task_done.txt

  4. Проверь запланированные задачи через at. Посмотри список задач с помощью atq и, если нужно, удали задачу с помощью atrm.


Итог:

Теперь ты знаешь, как автоматизировать выполнение задач с помощью cron и at. Эти инструменты — мощные помощники для планирования любых задач: от ежедневного резервного копирования до одноразовых напоминаний. Ты готов автоматизировать свои задачи? Готов двигаться дальше?