Eu usei o SVN para isso. Suponha que
- Você tem um repositório svn para cada host: link e você quer começar a fazer mudanças extravagantes para o /etc/syslog.conf real em 'thishost'.
- Você já tem um checkout local do repositório de configuração deste host em / configs /
comece a gerenciar a configuração deste arquivo
cp /etc/syslog.conf /configs/etc/
svn add /configs/etc/syslog.conf
svn commit -m "Managing syslog.conf"
faça alterações por meio do script
#echo some stuff into the file.. no need for extra markup/metadata
cp /etc/syslog.conf /configs/etc/
svn commit -m "I added some junk temporarily"
service syslogd restart
Agora você pode reverter para a versão anterior. Se, entre a adição e a reversão, você fizer outras alterações permanentes, poderá usar o svn para obter as diferenças entre as versões e mesclar as coisas.
Claro, substitua no git ou o que você quiser para o controle de revisão. E também faça alguns scripts permanentes para reduzir as chances de erros, como uma função bash que copia o arquivo para o repositório de checkout baseado no caminho, recebe um comentário de commit como um argumento. ou o que quer que seja.
você tem um repositório de configuração em svn: ///config que contém etc / syslog.conf , e você sabe que a coisa mais recente no repositório é o mesmo que o arquivo de configuração ao vivo no sistema de arquivos: