Тема 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
-
Просмотр crontab: Чтобы просмотреть текущие задания, используй:
Copy codecrontab -l -
Редактирование crontab: Чтобы добавить новое задание, открой crontab для редактирования:
Copy codecrontab -e -
Удаление всех задач: Если ты хочешь удалить все задания, используй:
Copy codecrontab -r
Планировщик at
В отличие от cron, который предназначен для регулярных задач, at используется для одноразового выполнения задач в будущем.
Как работает at?
-
Запланировать задачу с at:
Чтобы запланировать одноразовую задачу, просто введи команду
atс указанием времени, например:Copy codeat 15:00После этого введи команду, которую хочешь выполнить. Например:
bashCopy code
echo "Hello, World!" > /home/user/hello.txtЗаверши ввод, нажав
Ctrl+D. -
Просмотр запланированных задач:
Чтобы увидеть все запланированные задачи, используй:
Copy codeatq -
Удаление запланированной задачи:
Если нужно отменить задачу, используй команду
atrmи номер задания (его можно найти с помощью командыatq):phpCopy code
atrm <номер задания>
Пингви подсказывает:
"Представь, что cron и at — это твои личные помощники, которые выполняют задачи за тебя по расписанию. Они следят за временем, чтобы ты мог сосредоточиться на чём-то другом!"
Практическое задание
-
Запланируй задачу через cron. Открой crontab с помощью
crontab -eи добавь задание, которое будет запускаться каждый день в 12:00 и записывать текущее время в файл /home/user/time.log:luaCopy code
0 12 * * * date >> /home/user/time.log -
Проверь список cron задач. Используй команду
crontab -l, чтобы убедиться, что задание добавлено. -
Запланируй одноразовую задачу с помощью at. Используй
at, чтобы запланировать задачу на ближайшие 5 минут. Пусть она создаёт файл с сообщением:bashCopy code
at now + 5 minutes echo "Task completed" > /home/user/task_done.txt -
Проверь запланированные задачи через at. Посмотри список задач с помощью
atqи, если нужно, удали задачу с помощьюatrm.
Итог:
Теперь ты знаешь, как автоматизировать выполнение задач с помощью cron и at. Эти инструменты — мощные помощники для планирования любых задач: от ежедневного резервного копирования до одноразовых напоминаний. Ты готов автоматизировать свои задачи? Готов двигаться дальше?