в настоящее время я пытаюсь сделать что-то вроде этого:
поэтому может случиться так, что, например, ежедневный и еженедельный запуски будут выполняться в один и тот же день. по крайней мере, один из них завершится ошибкой, так как файл, резервную копию которого -необходимо создать, заблокирован другим процессом резервного копирования. поэтому одним из простых решений было бы запускать задания в разное время. но так как мы не можем точно сказать, сколько времени займет работа, это довольно уродливо.
так что я думал о прокси-скрипте, поэтому вместо выполнения вышеуказанных заданий cron я бы сделал что-то вроде
тогда единственное, о чем я бы заботился, это то, что они начинаются со смещения в любое время, чтобы они не блокировали друг друга. также время «ожидания» должно быть выбрано с умом, чтобы они не «перепроверяли» в один и тот же момент и снова не блокировали друг друга (с 3 процессами, мы могли бы использовать смещение +1 для процесса еженедельно, +2 для процесса ежемесячно и даже / нечетные счетчики времени перепроверки)
однако я не уверен, как реализовать это с помощью сценария Linux. я не уверен, какой будет "правильная" процедура.использовать файл блокировки, который создается при запуске процесса, и проверить это? а что будет если заблокировать? это «хороший» способ просто использовать сон и снова проверить файл блокировки через время X? Я не уверен, что происходит, когда я использую спящий режим в потоке Linux -, я имею в виду, что :— это запланированный «счетчик», использующий мощность процессора, или есть какое-то прерывание, которое процессор отправит процессу ожидание через время X (, например, «на основе событий»? )есть ли какие-нибудь более приятные методы, которые вы могли бы придумать? некоторые фрагменты кода сценария Linux были бы идеальными, поскольку я никогда не делал этого раньше