让我们用etckeeper管理/etc下的git
我叫伊藤,是一名基础设施工程师。
在操作Linux服务器时,每天都会重写配置文件。
更改设置时,您通常通过在文件末尾添加日期名称来备份文件。
像这样。
# ls -al |grep httpd.conf -rw-r--r-- 1 root root 16730 Jan 25 22:59 httpd.conf -rw-r--r-- 1 root root 16730 Jan 25 22:59 httpd.conf conf_20151225 -rw-r--r-- 1 root root 16730 Jan 25 22:59 httpd.conf_20160120
但是,如果每次更改设置时都创建备份文件,则文件将会分散。
文件越多,发生错误的可能性就越大。这对你的心理健康来说并不是真的有好处。
在这种情况下,我们建议使用名为 etckeeper 的 VCS(版本控制系统)来管理它!
当然,etckeeper会手动提交,但它也会在以下时间自动提交。
・执行 yum 命令时
・日期变更时
暂时安装一下
我会尝试安装etckeeper。
正如我之前简要提到的,VCS 是必需的。这次我们将安装git。
#yum 安装 git
从 epel 存储库安装 etckeeper。
#yum install --enablerepo=epel etckeeper
就安装成功了。
# rpm -qa |grep etckeeper etckeeper-0.64-1.el5.rf
尝试使用它
首先,创建一个存储库。
# etckeeper init 在 /etc/.git/ 中初始化空 Git 存储库
我会尝试承诺。
# etckeeper commit “第一次提交” [master (root-commit) 970f0b3] 第一次提交 作者:vagrant<vagrant@cli> 1174 个文件已更改,122593 个插入(+),0 个删除(-) 创建模式 100755 .etckeeper 创建模式 100644 yum/version-groups.conf
检查提交日志。
Git 命令可以在 etckeeper vcs 中使用。
# etckeeper vcs 日志提交 970f0b335acdf586e099d57f1bc95d442bff853f 作者:vagrant<vagrant@cli>日期:2016 年 1 月 29 日星期五 21:02:33 +0900 第一次提交
让我们尝试安装 Apache。
etckeeper 将在途中提交。
#yum install httpd(省略)etckeeper:事务提交前更新:httpd-tools-2.2.15-47.el6.centos.1.x86_64 1/4 更新:httpd-2.2.15-47.el6.centos.1。 x86_64 2/4 清理:httpd-2.2.15-47.el6.centos.x86_64 3/4 清理:httpd-tools-2.2.15-47.el6.centos.x86_64 4/4 etckeeper:事务提交后验证:httpd -tools-2.2.15-47.el6.centos.1.x86_64 1/4 验证:httpd-2.2.15-47.el6.centos.1.x86_64 2/4 验证:httpd-tools-2.2.15-47 .el6.centos.x86_64 3/4 验证:httpd-2.2.15-47.el6.centos.x86_64 4/4(省略)
让我们尝试编辑 httpd.conf 并在提交时检查日志。
# etckeeper vcs 日志提交 a6cee87ff14bcf90587e98017d8a737777bcc5c0 作者:vagrant<vagrant@cli>日期:2016 年 1 月 29 日星期五 22:43:53 +0900 编辑 httpd.conf commit 970f0b335acdf586e099d57f1bc95d442bff853f 作者:vagrant<vagrant@cli>日期:2016 年 1 月 29 日星期五 21:02:33 +0900 第一次提交
让我们检查差异以查看编辑了哪一部分。
# etckeeper vcs diff 970f0b335acdf586e099d57f1bc95d442bff853f 66aefb8e71a7526988c0b3d3863fd6e7e3ec0b54 diff --git a/httpd/conf/httpd.conf b/httpd/conf/httpd.conf 索引 579d194..58 70596 100644 --- a/httpd/conf/httpd.conf +++ b /httpd/conf/httpd.conf @@ -1,3 +1,4 @@ +#test # # 这是主要的 Apache 服务器配置文件,它包含为服务器提供指令的 # 配置指令。
让我们回到某个点。
# etckeeper vcs revert a6cee87ff14bcf90587e98017d8a737777bcc5c0 完成了一个恢复 # 在分支 master 上没有任何可提交的内容(工作目录干净)
这大致就是您将如何使用它。
能够避免 /etc/ 下有大量配置文件真是太好了!
这就是etckeeper的使用方法。
使用etckeeper漂亮地管理/etc文件!
如果您觉得这篇文章有帮助,请点赞!