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:
@@ -321,6 +321,28 @@ RemainAfterExit=yes
|
||||
WantedBy=multi-user.target
|
||||
EOL
|
||||
|
||||
# Create service file for RTC Save to DB (long-running service, no timer)
|
||||
# Unmask first in case it was previously masked (symlink to /dev/null)
|
||||
# so the cat below writes a real file, not into /dev/null.
|
||||
systemctl unmask rtc_save_to_db.service 2>/dev/null || true
|
||||
cat > /etc/systemd/system/rtc_save_to_db.service << 'EOL'
|
||||
[Unit]
|
||||
Description=RTC Save to DB Script
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/python3 /var/www/nebuleair_pro_4g/RTC/save_to_db.py
|
||||
Restart=always
|
||||
RestartSec=1
|
||||
User=root
|
||||
WorkingDirectory=/var/www/nebuleair_pro_4g
|
||||
StandardOutput=append:/var/www/nebuleair_pro_4g/logs/rtc_save_to_db.log
|
||||
StandardError=append:/var/www/nebuleair_pro_4g/logs/rtc_save_to_db_errors.log
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOL
|
||||
|
||||
# Reload systemd to recognize new services
|
||||
systemctl daemon-reload
|
||||
|
||||
@@ -342,6 +364,13 @@ systemctl enable nebuleair-cpu-power.service
|
||||
systemctl start nebuleair-cpu-power.service
|
||||
echo "Started nebuleair-cpu-power service"
|
||||
|
||||
# Enable and start RTC Save to DB service (long-running, no timer)
|
||||
# Use restart instead of start to pick up new content if the service was
|
||||
# already running with an older version of the file.
|
||||
systemctl enable rtc_save_to_db.service
|
||||
systemctl restart rtc_save_to_db.service
|
||||
echo "Started rtc_save_to_db service"
|
||||
|
||||
echo "Checking status of all timers..."
|
||||
systemctl list-timers | grep nebuleair
|
||||
|
||||
|
||||
Reference in New Issue
Block a user