{{description>Рассматривается способ отслеживания фактического времени выполнения запланированных задач.}}
====== Отслеживание фактического времени выполнения запланированных задач ======
[[ http://wiki.mihanik.net/doku.php?id=операционные_системы:linux:планировщики_задач:cron:отслеживание_фактического_времени_выполнения_запланированных_задач&do=export_pdf | Экспорт в PDF ]] ~~ODT~~
Дата создания: 2025/06/23 04:41 (C) mihanik
{{ :операционные_системы:linux:планировщики_задач:cron:crontab.jpg?nolink&400 |}}
===== Дано =====
С помощью планировщика задач **cron** вы создали новое задание.
===== Надо =====
Отслеживать время фактического выполнения задания.
===== Решение =====
Основная идея заключается в том, что мы перед запуском задания "трогаем" (touch) некий файл и после выполнения задания опять "трогаем" ещё один некий файл.
**Реальный пример из моей практики.**
В 6:00 нам нужно запустить некие виртуальные машины. Это сделать просто запланировав следующее задание **cron**
0 6 * * * /opt/scripts/start-vms.sh
Но в некоторых случаях может быть непонятно: стартовал скрипт или нет, и завершилось ли задание.
Немного модифицируем команду выполняемую по расписанию.
0 6 * * * touch /opt/scripts/start-vms.start; /opt/scripts/start-vms.sh; touch /opt/scripts/start-vms.end
**Здесь**:
* файл **/opt/scripts/start-vms.start** является файлом/флагом начала выполнения запланированного задания, а команда **touch** изменяет временную метку этого файла;
* файл **/opt/scripts/start-vms.sh** - это непосредственно сам скрипт выполнение которого мы запланировали;
* файл **/opt/scripts/start-vms.end** является файлом/флагом завершения выполнения запланированного задания, а команда **touch** опять-таки изменяет временную метку этого файла.
Получается, что в одной строке указано несколько команд через ";". Эти команды будут выполняться по очереди вне зависимости от успешности выполнения других команд.
Отработает ваш скрипт успешно или нет, - не важно. Проанализировав временные метки файлов "start" и "end" вы всегда будете знать когда ваш скрипт запустился и когда он завершил работу.
===== Источники =====
* [[https://yandex.ru/search]]
[[#top|⇑ Наверх ⇑]]