Рейтинг:0

Как синхронизировать crontab с fcrontab, то есть задание на основе таймера и задание на основе времени

флаг cn
Jay

Установлено 2 расписания:

  1. Cron запускается каждые 8 ​​утра 0 8 * * * myCronJob.sh
  2. Fcron запускается каждые 61 минуту: @1h1 myFcronJob.sh

В конце концов они столкнутся друг с другом, и это не сработает, потому что в этом сценарии одновременно может выполняться только одно задание. Чтобы избежать этой проблемы, мы можем использовать блокировку, чтобы разрешить только одно задание за раз, например, этот код здесь

0 8 * * * пользователь/bin/flock /usr/tmp/lfile.lockfile -c 'myCronJob.sh'

@ 1h1 пользователь/bin/flock /usr/tmp/lfile.lockfile -c 'myFcronJob.sh'

Это поднимает другую проблему, если fcron настроен на запуск каждые 61 минуту, и когда он запускается и будет ждать завершения другого задания, таймер будет смещен, потому что в следующий раз, когда он запустится, будет

(61 минута - время блокировки) Требуется, чтобы myFcronJob.sh запускался через 60 минут.

Пример

  1. Задание Cron начинается в 8 утра и выполняется в течение 5 минут.
  2. Fcron тоже собирается запуститься в 8:01, но заметил, что замок на месте.
  3. Fcron ждет завершения задания Cron
  4. Fcron наконец запускается в 8:05 утра
  5. Fcron будет работать 61 минуту с 8:01, что приведет к тому, что следующая итерация начнется в 9:02 вместо ожидаемого 9:06.

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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.