Admin/Dev

07
Mai
2021

Sauvegarder la configuration de ses serveurs Linux dans un dépôt Git

Publié par sky

Pour garder une trace des modifications faites à la configuration d'un serveur Linux, j'utilise etckeeper. C'est un outil qui va surveiller toutes les modifications faites au dossier /etc et qui va les conserver en utilisant git (par défaut), en créant un commit, à chaque évolution du dossier.

Pour aller plus loin, il est possible de faire remonter les modifications vers une origine commune afin de conserver l'ensemble des configurations des serveurs dans un seul endroit.

Evidemment, il est préférable de ne pas envoyer ces informations vers un dossier public, tout le monde aurait alors accès à vos clés privées et potentiellement l'accès à quelques mots de passe.

De mon côté, je publie sur un Gitea privé, comme je vous en avais parlé il y a quelques temps.

Pour configurer la remontée des informations, c'est assez simple. Voici comment faire, sur le serveur Gitea qui hébergera les sauvegardes, créez un repository par site. Pour ma part, j'ai choisi de créer une organisation dédiée à la gestion des serveurs, c'est mieux rangé ainsi. Si vous souhaitez aller un peu plus loin, vous pouvez éventuellement créer un utilisateur dans Gitea afin que votre compte ne soit pas directement utilisé. Dans ce cas, il faut éditer l'utilisateur pour qu'il ait accès à tous les dépôts.

Ensuite, sur le serveur dont on veut effectuer la sauvegarde, il faut passer root et aller dans le dossier /etc

sudo su
cd /etc

puis nous allons ajouter une origine au git présent dans le dossier /etc

git remote add origin https://monserveurgitea.com/Organisation/Depot.git

dans mon cas, j'utilise https car ssh n'est pas disponible, j'ajoute l'url complète contenant l'utilisateur et le mot de passe

git remote set-url origin "https://utilisateur:mot-de-passe@monserveurgitea.com/Organisation/Depot.git"

Evidemment, il faudra modifier la commande pour y mettre l'utilisateur, son mot de passe ainsi que l'url complète du dépôt.

Pour effectuer une sauvegarde, nous faisons, simplement, un petit push afin d'envoyer les données actuelles

git push origin master

Enfin, il n'y a plus qu'à mettre un push journalier, ou avec la régularité que vous souhaitez, dans le cron (de root évidemment), afin d'avoir une mise à jour régulière. Il ne faut pas oublier d'ajouter la navigation dans le dossier telle que

cd /etc; git push origin master;

Il ne reste plus qu'à répéter l'opération sur tous les serveurs dont on souhaite sauvegarder la configuration.

 
 
Commentaires
Aucun commentaire pour le moment.

 

Poster un commentaire
En postant sur skymac.org, je m'engage à être courtois et à ce que mon message soit pertinent avec le sujet de l'article.
En outre, j'accepte, sans condition, que mon message soit refusé et supprimé si ces règles ne sont pas appliquées.
Ouvrir le panneau de gestion des cookies
Fermer le panneau
Ce site utilise des cookies pour assurer son bon fonctionnement. Il utilise aussi des cookies issues de services tiers permettant de proposer des fonctionnalités avancées. À tout moment, vous pouvez choisir quels services vous souhaitez activer ou refuser, afin de retirer votre consentement quant à l'utilisation des cookies.
 
Personnalisation des services
Vous êtes libre de choisir quels services vous souhaitez activer. En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l'utilisation de technologies de suivi nécessaires à leur bon fonctionnement. En retirant votre consentement pour certains de ces services, certaines fonctionnalités du site peuvent ne plus fonctionner.
Navigation du site  En savoir plus
Le site écrit un cookie de session permettant son bon fonctionnement et aidant à la navigation. Il ne peut être désactivé.
Utilisation : 1 cookie, enregistre l'identifiant de la session.
Durée de vie : Le cookie est présent pendant toute la session sur le site. Il devient obsolète après 24 minutes d'inactivité.
Obligatoire
Popup Média
Afficher des vidéos depuis Yoube ou Dailymotion.
 
Tout accepter Tout refuser Gérer