Подсказки по крону для не рабочие задания крона в отпуске (понедельник трехдневных выходных)

У нас есть о ста установках машины с каждой машиной рабочие задания крона как запуск и остановка сервисов и архивация файлов журнала этих сервисов в конце дня к централизованному репозиторию.

Одна головная боль, от которой мы страдаем, является трехдневными выходными (мы закрываемся в отпуске). Мы не хотим сервисный запуск в те дни и соединение с машинами нашего делового партнера.

Мы в настоящее время делаем это, вручную комментируя самые критические задания и позволяя набору ошибок весь день происходить. Не идеальный.

В основном, если задание имеет '1-5' набор в дневном поле, мы хотим, чтобы это означало 'рабочие дни' и не с понедельника по пятницу'. У нас есть база данных, которая отслеживает, которых дни являются действительно 'рабочими днями

Так, действительно ли это возможно переопределить соответствующий дню алгоритм Крона или является там некоторым другим способом легко установить установку крона для предотвращения вещей запуск в отпуске в понедельник?

Спасибо!

3
задан 30.01.2011, 16:37

2 ответа

Крон не поддерживает этот вид определения. Это становится очень сложным очень быстро. Здесь в Канаде, праздники даже не последовательны между областями.

Я записал бы сценарий бегуна, которые проверяют праздничную базу данных и выходы, если это - праздник. Попробуйте что-то как:

#!/bin/bash

TODAY=$(date +%Y%m%d)
if grep -q $TODAY /etc/holidays; then
   echo Skipping holiday for $*
   exit 0
fi

$*
4
ответ дан 08.12.2019, 00:33

Я могу вообразить несколько способов сделать это, но наиболее практическое решение будет зависеть от точной установки всех заданий крона. Например:

Если база данных рабочего дня может быть опрошена с помощью сценария, у Вас мог бы быть прогон задания крона в воскресенье, который определяет, является ли на следующий день (понедельник) рабочим днем или не и устанавливает/очищает файл где-нибудь. Все задания крона могли искать присутствие этого файла и принять решение работать или выйти соответственно.

ИЛИ

Вы могли заменить все отдельные записи крона одним основным заданием, которое только исчерпывает все другие, если (поддающаяся проверке) база данных говорит, что это - рабочий день.

0
ответ дан 08.12.2019, 00:33

Теги

Похожие вопросы