Как задать выполнение скрипта bash по собственному расписанию?



@cobb

Добрый день. Подскажите, пожалуйста, кто сталкивался с такой задачей ? Необходимо задать расписание выполнения скрипта , но только по рабочим дням, если субботу и воскресенье я могу отсечь CRON-ом, то как быть с праздничными днями ? Например майские, новогодние праздники ? Можно ли в CRON заранее задать дни, в которые скрипт не запускается ? Или нужно это реализовывать в логике скрипта ?


Решения вопроса 1



@fox_12

В файле holidays.txt выписать праздничные даты согласно производственного календаря в формате %d.%m.%y

При запуске проверять текущую дату

#!/bin/bash

if  cat holidays.txt | grep `date +"%d.%m.%y"` > /dev/null ; then
   # выполнять если праздник
else
   # выполнять если не праздник
fi

Комментировать

Ответы на вопрос 3



@firedragon

Только с помощью логики. То есть я бы сделал так: скрипт в кроне, но он читает при запуске текстовой файл с датами праздников. Этот самый файл вы заполняете либо руками, либо используя апи той же 1с



@MechanID

Насколько я знаю крон не поддерживает исключения и тому подобное.
В свое время я делал просто текстовый файл в который можно было легко добавить даты прадзников, и скрипт по крону запускался все рабочие дни и первым делом проверял есть ли текущий день в этом файле, если да – то завершал свою работу. Также при таком варианте вам нужна напоминалка в календарь – раз в год заполнять этот файл.



@CityCat4

В кроне насколько я знаю – нельзя. Придется проверять непосредственно в скрипте

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *