getSettings(); // 1. Si le cluster n'est pas activé ou que l'auto-sync est désactivée if (empty($st['enabled']) || empty($st['auto_sync'])) { exit(0); } // 2. Seul le nœud MASTER actif émet la synchronisation vers le nœud BACKUP $vip = $st['virtual_ip'] ?? ''; $isVipActive = $cm->isVirtualIpActive($vip); $configuredRole = $st['role'] ?? 'master'; // Un esclave (backup) ne doit jamais écraser le maître if ($configuredRole !== 'master' && !$isVipActive) { exit(0); } if (empty($st['peer_ip'])) { exit(0); } // 3. Déclenchement de la réplication vers le pair $result = $cm->pushSyncToPeer(); echo date('[Y-m-d H:i:s] ') . "[CLUSTER-CRON] " . ($result['message'] ?? 'Synchronisation OK') . "\n"; } catch (\Throwable $e) { echo date('[Y-m-d H:i:s] ') . "[CLUSTER-CRON-ERROR] " . $e->getMessage() . "\n"; exit(1); }