让我们用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_20151225 -rw-r--r-- 1 root root 16730 Jan 25 22:59 httpd.conf_20160120

但是,如果您每次更改设置都创建备份文件,您的文件就会变得杂乱无章。
文件越多,出错的几率就越大。这对您的心理健康不利。

在这种情况下,etckeeper 的版本控制系统 (VCS)

etckeeper 当然会手动提交,

・执行 yum 命令时
・日期更改时

它会在诸如以下情况自动提交:

首先,安装

我们来安装etckeeper。
如前所述,我们需要一个版本控制系统(VCS

#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 行。.etckeeper 创建模式 100755,.etckeeper 创建模式 100644,yum/version-groups.conf

查看提交日志。
你可以在 etckeeper 版本控制系统中使用 git 命令。

# 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 提交 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 index 579d194..5870596 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 目录下的内容吧!

如果您想咨询云专家

在 Beyond,我们利用自成立以来作为多云集成商和托管服务提供商 (MSP) 培养的技术能力,使用 AWS、GCP、Azure 和 Oracle 等各种云/服务器平台进行设计、构建和迁移云我去了那儿。

我们提供定制的云/服务器环境,根据客户所需的系统和应用程序的规格和功能进行优化,因此如果您对云感兴趣,请随时与我们联系。

● 云/服务器设计/建设
● 云/服务器迁移/迁移
● 云/服务器运维、监控(全年365天、每天24小时)

如果您觉得这篇文章有帮助,请点赞!
0
加载中...
0 票,平均:0.00 / 10
3,412
X Facebook 哈特纳书签 口袋

写这篇文章的人

关于作者