Автоматизация рутинных задач необходима в любом надежном рабочем процессе системного администрирования или веб-разработки. Задания Cron представляют собой мощный планировщик заданий на основе времени в Unix-подобных операционных системах, позволяющий автоматически запускать скрипты или команды через запланированные интервалы времени.
Задание cron – это запланированная задача, определенная в системной таблице crontab (cron table), которая выполняет команды или скрипты в определенное время или с определенным интервалом. Cron широко используется, потому что это:
Легкий
Высокая настраиваемость
Встроен в большинство дистрибутивов Linux
Ежедневное или еженедельное резервное копирование баз данных
Запуск скриптов PHP/Python
Ротация журналов и очистка временных файлов
Отправка электронных писем по расписанию
Обновление кэша данных или синхронизация файлов
Чтобы отредактировать кронтаб вашего пользователя (без доступа root):
Каждое задание cron использует следующий формат:
Допустим, вы хотите запустить пользовательский сценарий Python. Сначала создайте файл:
Пример сценария:
#!/usr/bin/env python3
import os
import datetime
log_dir = "/var/log/myapp"
threshold = 7 # days
now = datetime.datetime.now()
for filename in os.listdir(log_dir):
filepath = os.path.join(log_dir, filename)
if os.path.isfile(filepath):
file_age = now - datetime.datetime.fromtimestamp(os.path.getmtime(filepath))
if file_age.days > threshold:
os.remove(filepath)
Сделайте скрипт исполняемым:
Отредактируйте свой crontab и добавьте:
Это:
Запускает скрипт ежедневно в 1:00 AM
Записывает результаты в файл /var/log/cleanup.log
Временно отключите строку, закомментировав ее символом #.
Чтобы удалить все задания:
Пользовательские задания cron – это мощный инструмент для автоматизации, обслуживания и обеспечения надежности. Независимо от того, управляете ли вы персональным VPS, развертываете скрипты бэкенда или запускаете производственные рабочие нагрузки, освоение cron позволит вам контролировать время и порядок выполнения задач – без особых усилий.