@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
В кроне насколько я знаю — нельзя. Придется проверять непосредственно в скрипте