Веб-версияОткрыть в Telegram

Пост⚙️ Как устроена автоматизация задач через cron в Linux

28 сентября 2026
🐧
🐧 Linux Junior. Программирование под Linux.
⚙️ Как устроена автоматизация задач через cron в Linux Если вам нужно регулярное выполнение скрипта без ручного запуска, вам поможет cron. Это системный демон (crond), который раз в минуту проверяет свое расписание и запускает запланированные задачи. Все задачи хранятся в специальной таблице — crontab. 🟪 Синтаксис расписания Запись состоит из 5 полей времени и самой команды: * * * * * /path/to/command │ │ │ │ │ │ │ │ │ └── День недели (0–7, где 0 и 7 — воскресенье) │ │ │ └──── Месяц (1–12) │ │ └─────── День месяца (1–31) │ └──────── Час (0–23) └────────── Минута (0–59) 🚩Полезные спецсимволы: * — любое значение (каждую минуту, каждый час и т.д.); , — перечисление значений (1,15,30 — в 1, 15 и 30 минут); - — диапазон (1-5 в поле дня недели означает "с понедельника по пятницу"); / — шаг интервала (*/15 — каждые 15 минут). 🟪 Примеры: 🔎 0 4 * * * каждый день в 04:00 🔎 */30 9-18 * * 1-5 каждые 30 минут в рабочие часы по будням 🔎 0 0 * * 0 каждое воскресенье в полночь ❗️ Проверить или составить сложное выражение удобнее всего на crontab.guru. 🟪 Практический пример Допустим, нужно раз в неделю чистить старые логи приложения в папке ~/myapp/logs. Создаем скрипт clear_logs.sh: #!/bin/bash # Задаем PATH, чтобы cron гарантированно нашел утилиту find PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LOG_DIR="$HOME/myapp/logs" DAYS_TO_KEEP=7 find "$LOG_DIR" -type f -name "*.log" -mtime +$DAYS_TO_KEEP -exec rm -f {} \; Делаем файл исполняемым: chmod +x ~/scripts/clear_logs.sh Открываем редактор crontab: crontab -e Добавляем задачу: 0 0 * * 0 /home/user/scripts/clear_logs.sh >> /home/user/scripts/clear_logs.log 2>&1 Что здесь происходит: 0 0 * * 0 — запуск каждое воскресенье в 00:00. >> .../clear_logs.log — перенаправление стандартного вывода (stdout) в файл лога. 2>&1 — перенаправление ошибок (stderr) туда же, чтобы не потерять информацию о сбоях. 🚩 Базовые команды для работы crontab -l — посмотреть список текущих задач пользователя crontab -e — открыть редактор для создания/изменения задач crontab -r — удалить все задачи текущего пользователя ⚠️ Важно: при редактировании через crontab -e обязательно оставляйте пустую строку в самом конце файла, иначе последняя задача может не выполниться.
14 · 288 ·

Рядом в ленте

🐧🐧 Linux Junior. Программирование под Linux.❓ Как удалить на приемнике файлы, которых больше нет в источнике, при синхронизации через rsync? Ответ через час. #вопросы🐧🐧 Linux Junior. Программирование под Linux.По умолчанию rsync только добавляет и обновляет файлы, но не трогает то, что было удалено в исходной папке. Чтобы получить точную зеркальную копию, добавьте клю
это сообщение
🐧🐧 Linux Junior. Программирование под Linux.🐧 Linux Junior. Программирование под Linux.@juniorlinux · канал · Технологии
3 079подписчиков593средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем