Cron запускает команды по расписанию: например, выполняет резервное копирование или проверяет состояние сервиса. Частые причины сбоев — неверный формат времени, относительные пути и другое окружение, чем в терминале.
Откройте crontab
crontab -e
Это расписание текущего пользователя. Системные задания имеют отдельный формат и могут включать поле пользователя.
Пять полей расписания
минута час день_месяца месяц день_недели команда
Пример ежедневного запуска в 03:30:
30 3 * * * /usr/local/bin/my-script.sh
Указывайте абсолютный путь к программе и скрипту. Перед расписанием запустите команду вручную от того же пользователя.
Логирование
15 2 * * * /usr/local/bin/backup.sh >> /var/log/backup-cron.log 2>&1
Создайте лог и настройте права заранее. Не записывайте секреты в файлы, доступные всем пользователям.
Проверьте запуск
sudo journalctl -u cron --since "today"
В зависимости от системы сообщения cron могут попадать в другие журналы. Проверяйте также лог самой задачи. Если скрипт использует переменные окружения, каталоги или программы из PATH, задайте их явно.
Осторожно с автоматическим удалением
Не добавляйте команды удаления с широкими масками без теста. Для опасных операций используйте ограниченный каталог, логирование и сначала проверяйте список файлов, которые будут затронуты. Для задач, связанных со службами systemd, иногда удобнее systemd timers.

