Предполагается, что у вас есть база данных, размещенная не на одном из этих трех серверов;
Напишите скрипт-оболочку, который запускается в cron и принимает в качестве аргумента программу, которую вы запускаете.Самое первое, что он делает, - подключается к удаленной базе данных и проверяет, когда в последний раз запись была вставлена в таблицу (созданную для этой оболочки).Если время последней вставки больше, чем ожидалось, вставьте в таблицу новую запись с текущим временем и выполните аргумент оболочки (задание cron).
Завершение оболочки накаждый сервер, каждый установленный X минут позади другого (сервер A работает в верхней части часа, сервер B работает в 5 минут, C в 10 минут и т. д.).
Первый сервер всегда будет выполнять cronВо-первых, два других сервера никогда не будут.Если первый сервер выйдет из строя, второй сервер увидит, что он не работал, и запустит его.
Если вы также запишите в таблице, какой сервер выполнял задание, у вас будетжурнал, когда / где был выполнен скрипт.