【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【予約システム開発】EDISONE カスタマイズ開発サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【200ヶ国以上に対応】グローバル eSIM「ビヨンドSIM」

【200ヶ国以上に対応】グローバル eSIM「ビヨンドSIM」

【中国への旅行・出張・駐在なら】中国SIMサービス「チョコSIM」

【中国への旅行・出張・駐在なら】中国SIMサービス「チョコSIM」

【グローバル専用サービス】北米・中国でも、ビヨンドのMSP

【グローバル専用サービス】北米・中国でも、ビヨンドのMSP

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

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が必要になります。今回はgitをインストールします。

#yum install git

epelリポジトリからetckeeperをインストールします。

#yum install --enablerepo=epel etckeeper

無事インストールされました。

# rpm -qa |grep etckeeper
etckeeper-0.64-1.el5.rf

実際に使ってみる

まずはリポジトリを作成します。

# etckeeper init
Initialized empty Git repository in /etc/.git/

コミットしてみます。

# etckeeper commit "First commit"
[master (root-commit) 970f0b3] First commit
 Author: vagrant <vagrant@cli>
 1174 files changed, 122593 insertions(+), 0 deletions(-)
 create mode 100755 .etckeeper
 create mode 100644 yum/version-groups.conf

コミットのログを確認します。
etckeeper vcs~にて、gitのコマンドが使用可能です。

# etckeeper vcs log
commit 970f0b335acdf586e099d57f1bc95d442bff853f
Author: vagrant <vagrant@cli>
Date:   Fri Jan 29 21:02:33 2016 +0900

    First commit

試しにApacheをインストールしてみます。
途中でetckeeperがコミットしてくれます。

#yum install httpd
(中略)
etckeeper: pre transaction commit
  Updating   : httpd-tools-2.2.15-47.el6.centos.1.x86_64                                          1/4
  Updating   : httpd-2.2.15-47.el6.centos.1.x86_64                                                2/4
  Cleanup    : httpd-2.2.15-47.el6.centos.x86_64                                                  3/4
  Cleanup    : httpd-tools-2.2.15-47.el6.centos.x86_64                                            4/4
etckeeper: post transaction commit
  Verifying  : httpd-tools-2.2.15-47.el6.centos.1.x86_64                                          1/4
  Verifying  : httpd-2.2.15-47.el6.centos.1.x86_64                                                2/4
  Verifying  : httpd-tools-2.2.15-47.el6.centos.x86_64                                            3/4
  Verifying  : httpd-2.2.15-47.el6.centos.x86_64                                                  4/4
(中略)

試しにhttpd.confを編集してコミットしたときのログを確認してみます。

# etckeeper vcs log
commit a6cee87ff14bcf90587e98017d8a737777bcc5c0
Author: vagrant <vagrant@cli>
Date:   Fri Jan 29 22:43:53 2016 +0900

    edit httpd.conf

commit 970f0b335acdf586e099d57f1bc95d442bff853f
Author: vagrant <vagrant@cli>
Date:   Fri Jan 29 21:02:33 2016 +0900

    First commit

どの部分を編集したか、diffの確認をしてみます。

# 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
 #
 # This is the main Apache server configuration file.  It contains the
 # configuration directives that give the server its instructions.

ある地点に戻してみます。

# etckeeper vcs revert a6cee87ff14bcf90587e98017d8a737777bcc5c0
Finished one revert.
# On branch master
nothing to commit (working directory clean)

使い方としてはざっとこんな感じです。
/etc/配下の設定ファイルが大量にあることが避けられていい感じですね!

ということで、以上がetckeeperの使い方でした。
etckeeperを使って、/etc配下を美しく管理しましょう!

クラウドのプロに相談したい場合

弊社ビヨンドでは、創業以来、マルチクラウドインテグレーター・マネージドサービスプロバイダー(MSP)として培った技術力で、AWS や GCP・Azure・Oracle Cloud など、様々なクラウド / サーバーのプラットフォームを駆使した設計・構築・移行を行ってきました。

お客様が求めるシステムやアプリケーションの仕様・機能に応じて、お客様向けに最適化された、オーダーメイド型のクラウド / サーバー環境をご提供いたしますので、クラウドにご興味のある方はお気軽にお問い合わせください。

● クラウド / サーバー設計・構築
● クラウド / サーバー移行・マイグレーション
● クラウド / サーバー運用保守・監視(24時間365日)

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
3,197
X facebook はてなブックマーク pocket
【ウェビナー】マルチクラウド入門 ~あなたのビジネスに最適なクラウドとは?主要8クラウド最新情報をお届け!~

【ウェビナー】マルチクラウド入門 ~あなたのビジネスに最適なクラウドとは?主要8クラウド最新情報をお届け!~

【ウェビナー】運用体制から具体的な手順まで!クラウドサーバー運用保守の全貌を大公開

【ウェビナー】運用体制から具体的な手順まで!クラウドサーバー運用保守の全貌を大公開

この記事をかいた人

About the author