Ist zwar ein wenig mehr, als ein Code-Schnipsel, aber egal.
Hab mal für mich ein Config-Deploy-and-Check Script geschrieben.
Aus dem ganz einfachen Grund, dass ich oft z.B. Testsysteme einrichte und ich da aber nicht auf meine Configfiles verzichten will. Ich hab ja meine Configfiles alle in einem Git-Repo, aber das ganze ist trotzden ziemlich lästig, weil ich jedes mal die ganzen Files an die richtige Stelle legen muss.
Man legt sich für das Skript eine Profil-Datei an (Beispiel anbei) wo man definiert, wo die Source-File liegt und wo die hinkommen soll. Das Skript liest das aus und kopiert die Dateien eben an die Stelle. Außerdem kann man damit eben Checken, ob noch alle Files up-to-date sind.
Die Profil-Dateien sind einfach ne Perl-Datenstruktur, weil ich mir damit dämliches parsen erspare und die auch nicht so wirklich umständlich sind zu editieren, sollte selbsterklärend sein.
Sehr sehr gut möglich, dass das Skript irgendwo Quirks und Bugs hat weil mir diese ganze Filepath-Friemelei schon wieder ziemlich auf den Senkel ging. Habs ein paar mal getestet, da gings soweit, aber ich bin mir ziemlich sicher, dass ich irgendwas irgendwo vergeigt hab :>
Es ist aber immerhin so klever, dass wenn man im Profil nur ein Verzeichnis angibt (wie in der Beispiel-Datei, z.B. '.vim' oder '.mutt') dass es das Verzeichnis nach Dateien durchsucht, diese kopiert und auch für jede einzelne nen Integritätscheck macht.
HF.
//EDIT: Hab mal ein Repo dafür angelegt.
http://github.com/lukasg/configDeploy