Что происходит между запусками
Cron не держит задачу постоянно работающей и не отсчитывает время внутри самого скрипта. Это фоновая служба: она периодически проверяет расписание и, когда условия совпадают с текущими датой и временем, запускает указанную команду.
В расписании задают минуты, часы и другие календарные поля. Например, правило может означать «запускать каждый день в такое-то время». Поэтому задача срабатывает не просто «через сутки» после предыдущего запуска, а в соответствии с календарём и часовым поясом системы.
От расписания до команды
Когда наступает нужный момент, cron запускает процесс от имени пользователя, которому принадлежит запись расписания. Команда выполняется отдельно от службы: если это резервное копирование, cron лишь запускает программу копирования, а уже она читает файлы и записывает их в хранилище.
У такого разделения есть практический смысл. Службе не нужно занимать ресурсы постоянно работающим сценарием, а расписание можно изменить отдельно от самой команды. Но команда должна быть пригодна для автоматического запуска: в фоновом режиме не получится ответить на неожиданный вопрос или вручную подтвердить действие.
Почему важны журналы и окружение
У cron часто меньше настроек окружения, чем у интерактивного терминала: например, система может не знать, где искать нужную программу. Поэтому в расписании обычно указывают полные пути, а вывод команды направляют в файл или почту — иначе ошибка может остаться незамеченной.
Именно поэтому ночная очистка журналов или резервное копирование — не просто «задачи, которые происходят сами». Cron обеспечивает точный момент старта, но надёжность результата зависит от самой команды и от того, можно ли проверить, что она завершилась успешно.






