任何人看到一个助手程序来创build一个服务器的更新日志?

我正在努力让我们的Linux(如果可能的话,最终是Windows)系统设置,以便我们可以监视pipe理变化,并有他们的历史引用。 目前,我有一个相当不错的设置与etckeeper,logwatch和mercurial。

我想通过唠叨任何pipe理员,当他们注销一条消息,询问他们是否想要为服务器上的操作创build更改日志时,使其更加健壮。 一个“否”的回答会继续注销过程,一个肯定的回答会把他们带到他们使用的任何编辑器中,在那里他们可以input任何他们想要的关于他们在系统上改变了什么。 然后,changlog助手将添加一些标准的格式,他们把它放在那里(添加一个date/时间,用户名,缩进,重新包装,每行70个字符等),并将其预先添加到系统上的某个文件中。 然后,我将在监视设置中包含那个更新日志,这将会导致它被版本控制并发送到一个集中的位置。

我设想的东西会看起来很像提交/评论function与mercurial / git / svn一样工作,除了注释的格式不同并保存到本地文件。 奖励点有一些前/后提交挂钩或以其他方式可以自定义。

谢谢。

想到两个简单的想法:

  1. 使用“logging器”命令让pipe理员发送一行到系统日志。 由于包含用户名,因此可以轻松编写脚本报告。 如果您正在login到中央主机,则也会将这些更改集中logging下来。

  2. 只需将所有更改附加到/ etc / motd,不仅logging更改,还会在login时将其显示给每个人。

这两种方法都适合由忠实的pipe理员或脚本手动完成。

从来没有听说过这样的工具。

但我想下面可以做

  • pipe理员将记下一些文本文件中修改的文件名称以及相应的描述。

  • 这些文件然后rsynced与一些远程服务器或可能在一些文件夹在同一个系统与时间戳附加到它。 此备份还将包含文件admin用于写入修改。

  • pipe理员写入的文本文件将会有一些标准的格式,用于logging文件名和相应的描述,在执行rsync之前,会被bash / python / perl脚本读取。

  • 其他备份工具(如rdiff或rsnapshot)可以用来代替rsync。

如果“他们使用的任何编辑器”碰巧是Emacs ,那么您可以使用其更改日志编辑命令 。 最简单的,这可以像运行以下命令一样简单

emacs -f add-change-log-entry 

这将提示更改日志文件的位置,并自动创build一个名称,电子邮件地址和date的新条目,可供编辑。

使用像iwatch或tripwire这样的应用程序应该能够显示你对文件的区别。 – 然后在某处保存这些报告。

我不是Linux专家,但在我看来,您需要挂钩系统以捕获pipe理员可能注销系统的任何方式。 例如,如果有人在控制台inputexit ,那么有必要使shell执行完全不同的操作来exit正常响应,否则用户将被简单地注销。

那可能吗? 也许,但这意味着定制shell(s)。 当然,我可能是错误的,如果我不知道它,已经有一个方便的方法来钩住内置的命令位。

当然,如果有问题的用户远程访问系统(如通过SSH),以上都不会有任何帮助。

我特别没有在服务器上logging任何东西。 我们使用puppet,这是服务器的规范configuration资源。 puppet的configuration是版本控制。 如果一台服务器需要重build,我们用木偶来做。 任何不在傀儡中的configuration都会丢失。 所以大部分configuration都是伪装的,而更新日志是伪装的。