Mon CV

Réaliser un backup de la configuration de votre serveur sous OS X avec Bender ou SafeServer

12 janvier 2014

Si vous utilisez un serveur à la pomme pour délivrer un certain nombre de services, il serait prudent de vous pencher sur les conditions de backup de ce serveur. Je ne parle pas ici des données à proprement parler (points de partage) mais plutôt de la configuration des services actifs.

Il vous est possible de le faire manuellement évidemment, mais l’automatisation est sans aucun doute  une approche beaucoup plus prudente. Cela vous permettra par exemple de réinjecter vos paramètres de la veille si vous faites une erreur de configuration d’un service … ou cela peut vous aider à reconfigurer une machine en cas de crash beaucoup plus rapidement qu’en repartant de zéro.

Pour sauvegarder les paramètres de votre serveur, les puristes auront leurs propres scripts … mais j’ai un petit côté fainéant ! Du coup, je vous recommande deux solutions disponibles sur le Web : Bender et SafeServer. Elles n’offrent pas tout à fait les mêmes fonctionnalités et ne reposent pas sur les mêmes principes de fonctionnement mais sont quand même assez proches.

Outil 1 : Bender

BenderBender est un package proposé sur le site Forget Computers. Une fois installé il va lancer périodiquement un certain nombre de scripts, en s’appuyant sur launchd.

Chaque soir à 22 heures, Bender réalise un backup horodaté contenant une archive de votre OpenDirectory, si le serveur est configuré en maître OpenDirectory, un fichier plist (xml) pour chaque service actif sur le serveur et un plist complet contenant l’ensemble des paramètres des services actifs dans Admin Server.

Bender est compatible Mac OS X Server 10.5 à 10.8 (et certainement très bientôt 10.9). Bender est disponible sous la licence GNU General Public License.

Quelques astuces :

En cas de besoin, pour retrouver le mot de passe associé avec lequel l’archive OpenDirectory a été chiffré par Bender, vous devez lancer la commande suivante :

/sbin/ifconfig | /usr/bin/grep -m 1 ether | /usr/bin/awk '{print $2}' | /usr/bin/sed 's/://g' | /usr/bin/cut -c 5-

Pour restaurer l’ensemble des paramétrages de services dans Admin Server :

sudo serveradmin settings < /path/to/your-sa_backup-allservices-plist

Pour restaurer le paramétrage d’un service en particulier :

sudo serveradmin settings < /path/to/your-sa_backup-servicename-plist

>> Télécharger Bender

 

Outil 2 : SafeServer

SafeServer est proposé par Alain Andrieux d’ADX Consulting. Cet outil est un peu plus complet que Bender. Il s’appuie cette fois sur le lancement de scripts déposés à l’installation du package dans le répertoire /etc/periodic/. Ces scripts seront donc lancés comme les autres scripts de maintenance du système.

Quotidiennement : 

  • Un backup de la configuration de chaque service est réalisé dans le répertoire /var/backups/<servername>-plists/
  • Le script /etc/periodic/daily/727.savepostgrsql.sh (qu’il est également possible d’appeler depuis le terminal par la commande savepostgrsql, car un lien symbolique a été déposé dans /usr/local/bin) réalise un dump des bases service et users de PostgreSQL. Ces dump sont zippés et enregistrés dans le dossier /var/backups/<servername>-psql/.

Chaque semaine :

  • Le script /etc/periodic/weekly/703.saveservercfg.sh (qu’il est également possible d’appeler depuis le terminal par la commande saveservercfg, car un lien symbolique a été déposé dans /usr/local/bin) fait un backup complet de l’ensemble des paramètres des services. Il réalise en plus un backup de l’OpenDirectory. Les sauvegardes sont réalisées dans /var/backups/<servername>-dirserv/. Par défaut, 6 semaines de backups sont conservées. Par défaut le mot de passe utilisé pour chiffrer les backups de l’OpenDirectory est SXSOcaM. Cela pourra vous être utile en cas de besoin de restauration.
  • Le script /etc/periodic/weekly/751.savexsancfg.sh (qu’il est également possible d’appeler manuellement par la commande savexsancfg grâce à un lien symbolique dans /usr/local/bin) réalise un backup de la configuration d’un volume XSan. Le backup est réalisé dans le répertoire /var/backups/<servername>-xsanconf/.
  • Le script /etc/periodic/weekly/737.savecertif.sh (qui est accessible avec la commande savecertif depuis le terminal, grâce à un lien symbolique déposé lors de l’installation dans le répertoire /usr/local/bin) réalise une archive (ZIP) du Trousseau d’accès du serveur (uniquement les trousseaux Système et Racine du système), de manière à backuper les certificats utilisés par le serveur. L’archive est enregistrée dans le dossier /var/backups/<servername>-kchn/.

Allez plus loin dans la configuration :

L’usage des cinq scripts de backup peut être personnalisé en modifiant les paramètres standards. Pour cela, il vous faudra éditer le fichier /etc/safeserver.conf et décommenter la ligne dont vous souhaitez modifier la valeur. Enfin sachez que si vous exécutez manuellement chacun de ces scripts, vous pouvez utilisez le paramètre -h pour afficher l’aide.

Enfin, en cas de problème, un journal est disponible à l’emplacement par défaut /var/log/safeserver.log (sauf si vous l’avez modifié dans /etc/safeserver.conf).

>> Télécharger SafeServer 2.5

Posted in Apple et MacintoshTags: