Ежедневные задания cron активны или неактивны в течение нескольких месяцев

Дополнение к основному ответу на Dconf -Редактор:

В версии 3.18.2 -выпадающий список опций содержит меньше, чем указано в более подробном описании в нижней части окна.

Пример дляorg.gnome.desktop.wm.preferences action-right-click-titlebar:

enter image description here

Меню, нижнее, затенение и нет параметры недоступны в раскрывающемся списке -вниз и не могут быть выбраны с помощью редактора Dconf -, но они перечислены в нижней части окно внутри более подробное описание.

Чтобы выбрать эти параметры, можно использовать терминал -с чем-то вроде

gsettings set org.gnome.desktop.wm.preferences action-right-click-titlebar 'minimize'

В более новой версии 3.28.0 это исправлено -вместе с новым дизайном.

enter image description here

1
16.09.2020, 19:09
1 ответ

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

Например, если предположить, что ваши месячные циклы начинаются в первый день месяца, вот один из способов проверить цикл (, начинающийся в сентябре 2020 г.):

[[ $((($(date "+%Y*12+10#%m")-(2020*12+9)) % 8)) -lt 6 ]] &&...

Это запрашивает dateформатирование текущей даты как<year>*12+10#<month>(10#заставляет месяц приниматься за базовое -10 значение ), а затем использует это как арифметическое выражение для вычисления числа месяцев, прошедших с начального месяца, и вычислить остаток от деления на 8. Таким образом, в начальном месяце результат равен 0; в следующем месяце 1; шесть месяцев спустя, 6, и цикл возобновляется через восемь месяцев. Таким образом, сравнение результата с 6 определяет, должен ли запускаться сценарий...

Предполагая, что оболочка, используемая в вашем cron, поддерживает такие арифметические операции, вы можете включить это непосредственно во вкладку cron; в противном случае включите его в начало сценария.

0
18.03.2021, 23:04

Теги

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