Je voudrais garder une trace des changements dans / etc /
Fondamentalement, j'aimerais savoir si un fichier a été modifié, par yum update
ou par un utilisateur et le restaurer si je n'aime pas le chage. J'ai pensé à utiliser un VCS comme git, LVM ou des instantanés btrfs ou un programme de sauvegarde pour cela.
Que recommanderais-tu?
Réponses:
Il semble que vous souhaitiez etckeeper de Joey Hess de Debian, qui gère les fichiers sous
/etc
contrôle de version. Il prend en charge git, mercurial, darcs et bazaar.la source
Je ne peux pas vous donner de recommandation finale, mais je peux partager quelques réflexions sur le sujet. Étant donné que / etc est généralement assez petit, vous pouvez simplement opter pour une solution tar-ball compressée simple. Si vous avez à peine besoin de parcourir l'historique, cela pourrait être la solution la plus simple à configurer.
Pour moi, il serait fastidieux de gérer des volumes logiques juste pour garder une trace de / etc et d'autant plus que je ne pense pas que les instantanés LVM ont été conçus pour être créés régulièrement comme moyen de sauvegarde d'une quantité relativement faible de données.
btrfs me semble bien mieux équipé pour cela, mais il n'est toujours pas aussi stable que, par exemple, ext {2,3,4} et l'outil fsck n'est pas encore terminé. Mais ça s'améliore continuellement.
Personnellement, j'utilise git pour suivre / etc, mais vous devez garder à l'esprit que git ne stocke pas les métainformations des fichiers comme la propriété ou l'autorisation! Et vérifiez également que le répertoire .git dispose des droits appropriés. Il existe cependant quelques outils pour résoudre ces problèmes. Vous voudrez peut-être jeter un œil à etc-keeper , qui a été développé exactement pour garder une trace de / etc ou utiliser au moins quelque chose comme gitperms ou metastore pour suivre la métainformation.
la source
Pour garder une trace des changements "indésirables", nous utilisons un HIDS - dans notre cas, d'
samhain
autres sonttripwire
ouaide
. Tous ces systèmes vous avertiront lorsqu'un événement indésirable s'est produit.Un
yum update
ne devrait rien changer sans laisser un .rpmnew ou .rpmold, si le fichier de configuration est marqué comme tel dans le rpm correspondant.Moi, j'ai trouvé une bonne pratique de faire une copie de sécurité du fichier que je vais modifier
cp -p origfile origfileYYYY-MM-DD
avec la date de la veille.Si tout le reste échoue - j'appelle les sauvegardes et je demande une restauration à partir de la dernière "bonne" sauvegarde connue.
la source
Je pense que vous pouvez faire un instantané des fichiers / répertoires
/etc
.Faites d'abord une liste de fichiers / etc / répertoire:
Et si vous créez un fichier dans le
/etc
et si vous reprenez un instantané de
/etc
ce que nous avons fait avantet ensuite vous pouvez comparer les différences entre les 2 fichiers comme ceci:
la source
Il y a toujours radmind . Vous pouvez annuler ce changement si vous ne l'aimez pas.
la source
Recherchez-vous la gestion de la configuration ou le suivi / surveillance des modifications du système de fichiers?
Si c'est plus tôt, je regarderais
puppet
ouchef
.CFEngine
existe à des fins commerciales.puppet
est une bête populaire de nos jours.Si c'est le dernier, il est difficile de surveiller les modifications du système de fichiers, mais il existe des exemples de programmes comme l'
inotify
audit du système de fichiersauditctl
ou SGI,fam
mais encore une fois, c'est une chose de surveillance et peut être coûteux à implémenter (les performances du système de fichiers peuvent être détériorées).la source
Vous pouvez vérifier
rsnapshot
qui conserve des instantanés toutes les heures de tous les répertoires que vous voulez ... vous pouvez le configurer pour faire 24 heures, puis X quotidiens, puis X hebdomadaires, etc. Autant que vous le souhaitez pour l'espace disque. Il est assez intelligent pour créer un lien dur lorsque les fichiers n'ont pas changé (il utilise enrsync
arrière-plan.la source
Vous pourriez envisager d'utiliser
git
. Vous pouvez Il est efficace pour suivre les changements et très facile à utiliser pour quelque chose comme ça.Je crois que la configuration initiale va comme ceci. Je ne l'ai pas fait depuis un moment.
Cette approche fonctionne mieux pour un seul serveur, mais peut être superposée avec d'autres outils qui modifient le référentiel. Cela peut être utile sur vos sites canaris pour vous assurer que les changements attendus se produisent.
Vous pourrez peut-être utiliser le clonage pour gérer les fichiers communs à plusieurs serveurs.
la source
J'ai un script qui s'exécute tous les jours et sauvegarde les fichiers qui ont changé depuis la sauvegarde précédente:
Vous passez dans le chemin où les sauvegardes seraient créées et ce répertoire aura une liste similaire à celle-ci (après quelques exécutions):
Vous pouvez le modifier un peu pour enregistrer les modifications plus souvent ou utiliser inotify pour déclencher une version modifiée du script lorsque des modifications se produisent
/etc
.la source