v1.7.4: Source de verite unique pour les services + update self-healing
setup_services.sh devient la source unique pour les services systemd (le service rtc_save_to_db etait auparavant cree inline dans installation_part2.sh, en doublon avec un commentaire dans save_to_db.py). update_firmware.sh appelle maintenant setup_services.sh apres le git pull. Resultat: les capteurs deja deployes peuvent se reparer tout seuls au prochain update firmware (services manquants, masques, ou nouveaux services ajoutes au repo apres l'installation initiale). Defensif: systemctl unmask sur rtc_save_to_db avant creation du fichier .service, pour eviter d'ecrire dans /dev/null si le service avait ete masque (cas observe sur un capteur en production). Pas de risque sur les capteurs sains: reecriture des .service avec le meme contenu, comportement inchange. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -107,6 +107,20 @@ if [ "${APACHE_CHANGED:-false}" = true ]; then
|
||||
print_status "✓ Apache reloaded"
|
||||
fi
|
||||
|
||||
# Step 3c: Reconcile systemd services with the repo (self-heal)
|
||||
# Re-running setup_services.sh ensures any service that was removed,
|
||||
# masked, or never installed gets recreated from the canonical source.
|
||||
# Idempotent: rewriting an existing service file with the same content
|
||||
# is a no-op for already-running services.
|
||||
print_status ""
|
||||
print_status "Step 3c: Reconciling systemd services with setup_services.sh..."
|
||||
if [ -x /var/www/nebuleair_pro_4g/services/setup_services.sh ]; then
|
||||
sudo /var/www/nebuleair_pro_4g/services/setup_services.sh
|
||||
check_status "Setup services reconciliation"
|
||||
else
|
||||
print_status "⚠ setup_services.sh not found or not executable, skipping"
|
||||
fi
|
||||
|
||||
# Step 4: Restart critical services if they exist
|
||||
print_status ""
|
||||
print_status "Step 4: Managing system services..."
|
||||
|
||||
Reference in New Issue
Block a user