Нужно запустить задачу 2 понедельника в месяц. В первую и третью неделю. Чтобы в первую неделю в понедельник запускалось. В третью неделю в понедельник запускалось. А в 2/4 неделю не запускалось. Т.е. 2 раза в месяц. По понедельникам) Можно ли так прописать?
Формат ->cron('* * * * *');
Что за скрипты? Я на php пишу. Получается нужно запускать с 1-7, 15-21 каждый день и уже в коде проверять что если понедельник, то запускать выполнение?
Каждый понедельник в 4:00 через крон будет что-то вроде 0 4 * * 1.
Далее в строке запуска сделайте проверку номера недели на четность, что-то вроде
[ $[$(date +"%U")%2] -eq 0 ] && ...
jazzus, а кто запрещал? Попробуйте.
Но в документации: "Все условия (времени запуска) проверяются по «логическому И», кроме условий «день недели» и «день месяца» — указанные совместно, они обрабатываются по «логическому ИЛИ»"
Vitsliputsli, странно тогда что не используют, везде какие-то замуты со скриптами. Видимо есть подводные камни. Я на год вперед календарь пролистал и везде в понедельник попадает
jazzus, логический оператор ИЛИ, это четкое математическое выражение, какие "бесчисленные варианты"? Cron выполнит команду при истинности первого или второго условия, т.е. в этом варианте, во все дни 1-7,15-21, а в остальные дни по понедельникам.
Vitsliputsli, это когда ты знаешь, о чем речь вообще. Глядя на схему cron('0 4 1-7,15-21 * 1') много вариантов возникает если впервые с этим сталкиваешься. Теперь объяснили, спасибо.