запускать задание cron в конце каждого месяца
Вопрос
Мне нужно запускать сценарий в 14:00 в конце каждого месяца.Причина, по которой я установил 2 часа дня, в том, что у меня часовой пояс азия / калькутта, и он отличается от 10 часов 30 минут.с серверного времени.
Я установил в своем скрипте код date_default_timezone_set('Asia/Calcutta')
, поэтому при текущих настройках я могу запускать 1-й день каждого месяца в соответствии с моим часовым поясом.
Но проблема в том, что я использую webmin, и в нем нет настроек для запуска в конце каждого месяца и указаны только даты с 1 по 31.Вот приложил скриншот.
Как я могу запускать скрипт в конце каждого месяца в 14:00?
Любая помощь очень ценится, спасибо!
Решение
Простой способ, но некрасивый
запускается каждые 28,29,30,31 дней.Каждый раз, когда запускается скрипт, сравнивайте текущий день с максимальным количеством дней в текущем месяце, используя скрипт bash / oerl
Другие советы
Запускать его каждый день, начиная с 28 числа каждого месяца до первого числа следующего месяца.В скрипте проверьте, не наступит ли завтра первый день месяца.Если так, беги, иначе умри.