Найти в Дзене
Kvmka.ru

Как запускать Cron в Linux: примеры и возможности

Cron — это встроенный инструмент планировщика задач в Linux, который позволяет автоматически запускать команды или скрипты по расписанию. Он незаменим, когда нужно выполнять регулярные задачи: бэкапы, обновления, чистку логов, отправку уведомлений и многое другое. Как работает Cron? Основу его работы составляет файл crontab (сокращение от cron table), где указывается расписание и команды для выполнения. Команды управления: crontab -e # редактировать задачи crontab -l # просмотреть текущие crontab -r # удалить все Формат расписания * * * * * команда │ │ │ │ │ │ │ │ │ └── День недели (0 - вс, 6 - сб) │ │ │ └──── Месяц (1 - 12) │ │ └────── День месяца (1 - 31) │ └───────── Час (0 - 23) └──────────── Минута (0 - 59) Примеры расписаний Команда Расписание * * * * * каждую минуту 0 * * * * каждый час 0 5 * * * каждый день в 05:00 0 0 * * 0 воскресенье в полночь 30 8 * * 1-5 по будням в 08:30 */15 * * * * каждые 15 минут 0 0 1 */2 * 1-го числа через месяц 0 12 1 1 * 1 января в 12:00 Примеры

Cron
Cron

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

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

Основу его работы составляет файл crontab (сокращение от cron table), где указывается расписание и команды для выполнения.

Команды управления:

crontab -e # редактировать задачи

crontab -l # просмотреть текущие

crontab -r # удалить все

Формат расписания

* * * * * команда

│ │ │ │ │

│ │ │ │ └── День недели (0 - вс, 6 - сб)

│ │ │ └──── Месяц (1 - 12)

│ │ └────── День месяца (1 - 31)

│ └───────── Час (0 - 23)

└──────────── Минута (0 - 59)

Примеры расписаний

Команда

Расписание

* * * * *

каждую минуту

0 * * * *

каждый час

0 5 * * *

каждый день в 05:00

0 0 * * 0

воскресенье в полночь

30 8 * * 1-5

по будням в 08:30

*/15 * * * *

каждые 15 минут

0 0 1 */2 *

1-го числа через месяц

0 12 1 1 *

1 января в 12:00

Примеры использования Cron

Очистка временных файлов каждый день:

0 2 * * * rm -rf /tmp/*

Бэкап базы данных в 01:00:

0 1 * * * /usr/local/bin/backup.sh

Отправка системной информации на email:

0 9 * * * /usr/bin/top -b -n1 | mail -s "Daily load" admin@example.com

Проверка доступности сайта каждую минуту:

* * * * * curl -s https://mydomain.com/health || echo "DOWN" | mail -s "Alert" admin@example.com

Перезапуск службы каждую пятницу:

0 23 * * 5 systemctl restart nginx

Ночное скачивание данных:

30 3 * * * wget -q -O /home/user/data.json https://api.example.com/data

Удаление старых логов каждое воскресенье:

0 0 * * 0 find /var/log/myapp/ -type f -mtime +7 -delete

Дополнительные возможности Cron

Переменные окружения:

MAILTO="admin@example.com"

Логирование вывода:

* * * * * /path/script.sh >> /var/log/script.log 2>&1

Запуск от имени пользователя (в /etc/crontab):

* * * * * root /path/to/script.sh

Каталоги по расписанию:

/etc/cron.hourly/

/etc/cron.daily/

/etc/cron.weekly/

Проверка работы Cron

systemctl status cron    # Проверка статуса

grep CRON /var/log/syslog  # Для Debian/Ubuntu

journalctl -u crond     # Для систем с systemd

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

 

Присоединяйтесь к нашей группе в телеграм https://t.me/kvmka

Подписывайтесь на наш канал https://t.me/kvmka_channel

Наш сайт http://kvmka.ru