Changes

From SME Server
Jump to navigationJump to search
461 bytes removed ,  23:32, 21 December 2016
Line 1,376: Line 1,376:     
=== Extinction du serveur de sauvegarde ===
 
=== Extinction du serveur de sauvegarde ===
Extrait du wiki d'Arnaud : https://wiki.guedel.eu/doku.php?id=Welcome:Fedora:BackupPC
+
En travaux...
   −
Dans ma configuration actuelle, mon client Fedora effectue une sauvegarde avec BackupPC de mon serveur SME.
+
Extrait du wiki d'Arnaud : https://wiki.guedel.eu/doku.php?id=Welcome:Fedora:BackupPC légèrement modifié pour un serveur de sauvegarde de type SME.
À une heure précise, le serveur SME “réveille” donc la machine client via un wake-on-lan pour que ce dernier effectue la sauvegarde. Pour des raisons évidentes d'économie d'énergie, j'ai souhaité que la machine client s'éteigne automatiquement une fois la sauvegarde effectuée.
     −
Le problème est alors le suivant : BackupPC ne prend la sauvegarde en considération seulement une fois le « post-job » positivement achevé.
+
À une heure précise, le serveur SME «réveille» donc la machine client via un wake-on-lan pour que ce dernier effectue la sauvegarde. Pour des raisons évidentes d'économie d'énergie, j'ai souhaité que la machine cliente s'éteigne automatiquement une fois la sauvegarde effectuée.
Donc si la commande d'extinction est située dans le post-job, celui-ci ne renvoie jamais de retour positif à BackupPC, vu que la machine sur laquelle il tourne est éteinte avant !!!
     −
La création de scripts d'extinction enfants du post-job, avec des commandes pour récupérer le prompt avant la fin de l'exécution de la tâche (entre autre le « & ») s'est révélée infructueuse sur toute la ligne car backupPC s'entête à attendre la fin de chaque script enfant.
+
Le problème est alors le suivant : Affa ne prend la sauvegarde en considération seulement une fois le « post-job » positivement achevé.
 +
Donc si la commande d'extinction est située dans le post-job, celui-ci ne renvoie jamais de retour positif à Affa, vu que la machine sur laquelle il tourne est éteinte avant !!!
   −
C'est quelque part sur la toile que j'ai trouvé la solution à ce problème: il faut que le post-job de BackupPC se contente de créer un fichier drapeau. L'extinction est elle réalisée via cron.d qui surveille la présence ou non de ce drapeau et qui déclenche l'arrêt de la machine le cas échéant.
+
La création de scripts d'extinction enfants du post-job, avec des commandes pour récupérer le prompt avant la fin de l'exécution de la tâche (entre autre le « & ») s'est révélée infructueuse sur toute la ligne car Affa s'entête à attendre la fin de chaque script enfant.
   −
Voilà mon script pre-job (qui au passage envoie le signal-event pre-backup à la SME):
+
C'est quelque part sur la toile que j'ai trouvé la solution à ce problème : il faut que le post-job d'Affa se contente de créer un fichier drapeau. L'extinction est, elle, réalisée via cron.d qui surveille la présence ou non de ce drapeau et qui déclenche l'arrêt de la machine le cas échéant.
 +
 
 +
Voilà mon script pre-job (qui au passage envoie le signal-event pre-backup à la SME) :
    
#!/bin/bash
 
#!/bin/bash
Line 1,395: Line 1,396:  
exit 0;
 
exit 0;
   −
Voilà mon script post-job (qui au passage envoie le signal-event post-backup à la SME):
+
Voilà mon script post-job (qui au passage envoie le signal-event post-backup à la SME) :
    
#!/bin/bash
 
#!/bin/bash
Line 1,406: Line 1,407:  
*/5 * * * * root [ -f /etc/BackupPC/dump-end.flg ] && sleep 3m && [ ! -f /etc/BackupPC/dump-start.flg ] && [ "$(/usr/bin/users)" = "(unknown)" ] && rm /etc/BackupPC/dump-end.flg && /usr/sbin/shutdown -h now
 
*/5 * * * * root [ -f /etc/BackupPC/dump-end.flg ] && sleep 3m && [ ! -f /etc/BackupPC/dump-start.flg ] && [ "$(/usr/bin/users)" = "(unknown)" ] && rm /etc/BackupPC/dump-end.flg && /usr/sbin/shutdown -h now
   −
Pas besoin de relancer cron.d: les modifications sous le répertoire /etc/cron.d sont rescannées toutes les minutes(https://docs.fedoraproject.org/en-US/Fedora/21/html/System_Administrators_Guide/ch- Automating_System_Tasks.html)
+
Pas besoin de relancer cron.d: les modifications sous le répertoire /etc/cron.d sont rescannées toutes les minutes.
 
  −
ATTENTION: Pour Fedora22, il faut légèrement modifier l'entrée cron.d: /etc/cron.d/backuppc-halt
  −
 
  −
*/5 * * * * root [ -f /etc/BackupPC/dump-end.flg ] && sleep 3m && [ ! -f /etc/BackupPC/dump-start.flg ] && [ "$(/usr/bin/users)" = "" ] && rm /etc/BackupPC/dump-end.flg && /usr/sbin/shutdown -h now
     −
Explications: cron cherche la présence du fichier « dump-end » toutes les 5 minutes. Si le fichier est présent, on attend 3 minutes au cas où une autre sauvegarde de BackupPC devrait se lancer, on vérifie qu'il n'y a pas de backup en cours (fichier dump-start), on vérifie qu'aucune session n'est ouverte, on efface le fichier drapeau et on éteint la machine.
+
Explications : cron cherche la présence du fichier « dump-end » toutes les 5 minutes. Si le fichier est présent, on attend 3 minutes au cas où une autre sauvegarde Affa devrait se lancer, on vérifie qu'il n'y a pas de backup en cours (fichier dump-start), on vérifie qu'aucune session n'est ouverte, on efface le fichier drapeau et on éteint la machine.
   −
Génialement simple, simplement génial et……. efficace!
+
Génialement simple, simplement génial et…… efficace!
 
Et voilà !!!
 
Et voilà !!!
  
3,054

edits

Navigation menu