如何查找所有已更改为默认值的 Debian 托管配置文件?
我为客户管理多个 Linux 服务器,担任多个角色,如电子邮件、缓存、Web 服务、过滤、防火墙/路由等。
由于我没有这些计算机,只是提供远程支持,像 Puppet 这样的中央管理系统似乎不是正确的工具。(如果您认为我对这个假设有误,请纠正我)
您推荐使用哪些工具来跟踪配置文件、软件包安装等的更改?
我在想像 etckeeper这样的东西可能接近我需要的东西,但我想知道是否有更好的东西。
更新
我们将备份系统,我不希望这种类型的工具可以替代备份。这是关于跟踪配置的变化,并有一个系统来知道什么时候发生了变化,由谁改变,希望是为什么。
我们已将大量源代码迁移到 git,并对我们当前的解决方案感到非常满意。我们希望在同一系统上对我们的服务器配置文件进行版本控制,但有一些事情无法按照我们希望的方式工作,我希望有人可以在这里分享他的经验。
这个问题类似于对服务器配置文件使用修订控制?,但我们有一些特殊要求,不适用于有关该问题的建议。
当前设置对配置文件使用 subversion。相应的存储库看起来像这样
/ # 仓库根目录 +--www.domain.com/ # www 的配置 | \ - 等等/ | \--apache2/ +--dev.domain.com/ # dev 的配置 | +--等/ | \ - 选择/ | \--app1/ | \--conf/ # 在 dev 上配置 app1 \--staging.domain.com/ # 暂存配置
使用 subversion 这将工作得很好,因为可以只检出存储库的子目录。此外,您可以使用 svn:externals 来指向几种不同配置设置的一种通用结构。我们只需要处理所有版本化目录中的.svn文件。另一方面, Git没有 svn:externals并且稀疏检出总是要求从根到实际目录的路径相同。
在讨论迁移到 git 时,我尝试写下服务器配置版本控制的主要要求:
有没有一种很好的方法可以将所有配置都放在一个存储库中并且只有一个子路径作为工作副本?目前我正在考虑两种方法,但想先在这里问这个问题
在单台机器上使用 …
我想创建一个中央配置文件存储库,以便我可以在修订控制(Mercurial)下对任何配置进行更改。这将包括一些 GNU/Linux 机器(将使用 etckeeper)、网络设备的配置文件、打印机的配置文件以及最后但并非最不重要的 Windows 配置。
我知道您可以将某些配置(如 ISA 和 DHCP)作为文本/xml 文件导入,甚至可以将共享文件夹作为注册表项导入,但是对于 GPO 和 AD、IIS、MSSql 等内容,有没有办法将配置作为平面文件获取?基本上,你能在 Windows 下拥有一些类似于 etckeeper 的东西吗?像一些基于powershell的命令之类的东西?
此外,ACL 和其他文件权限是否可以在版本控制 (hg) 下保留?
BTW,我已经读过了
无济于事。
有没有人有使用 Puppet 或 cfengine 之类的 Windows 服务器环境设置经验?有这样的事情吗?
我希望跟踪一段时间内的配置文件和文件安全更改。我还想存储配置信息,以便在 DR 情况下快速部署服务器和应用程序。
Tripwire 很不错,但只提供快照并且不会像源代码控制系统那样存储随时间的变化。
我更像是一个 linux 应用程序开发人员而不是管理员。随着时间的推移,我构建并维护了服务器,有时是为了提供服务,主要是为了开发我正在处理的应用程序。
回到我在我的帐户中创建一个文件来记录我在每台机器上所做的事情的时候,这样我就可以在迁移到其他机器时复制它。
现在,我安装了一些私人的 trac 安装,安装它的博客插件,然后使用它来记录我安装的所有内容、我运行的大多数命令以及输出。这为我提供了一个维基和博客的组合,我发现它作为“船长的日志”非常有用。我这样做主要是为了当我迁移到一台新的干净机器时,我可以更轻松地启动它。
然而,当我看到其他人只是安装这个、删除那个、运行这个、设置这个配置时,我总是感到惊讶……似乎没有使用任何方式来实际记录他们在做什么。
你做什么,有哪些工具可用?
我对为少数人维护几台机器和维护几台到几十台提供真正服务的机器之间的过渡特别感兴趣。
什么是最佳实践,我在哪里可以找到好的资源?
谢谢!
用于跟踪 /etc 的最简单的 VCS 是什么?在版本控制中存储 etc 目录有哪些挑战,最佳实践?我应该使用集中式还是分布式 VCS?
寻找一些 (*nix) 软件,它将在服务器上建立“有趣”文件的索引,并在某些文件内容被修改或出现新文件时发出通知。
与 rkhunter 等人类似,但较少关注系统二进制文件,而更多关注通过 Web 提供的可执行文件。
有什么建议吗?