etckeeperで設定ファイルをバージョン管理

サーバーの設定ファイル(etc以下)を編集する際には元の設定を残すためにコメントにしておいたり、.oldというファイルを作って元の設定を残している方もいらっしゃるんではないでしょうか?

でも設定ファイルがゴチャゴチャしてきたらetc以下のファイルをバージョン管理した方が良いかもしれません。
そんなときに便利なのがetckeeperです。

etckeeperは本質的には以下のことをやっているだけです

cd /etc
git init
(etcに変更を加えた)
git add ...
git commit ...

上記のように手動でバージョン管理するより、etckeeperを使うと次のような利点があります

  • apt,dpkgのインストール後に自動コミット
  • パーミッションなどのmetaデータも追跡できる
  • cronにより変更があれば自動コミットされる(1日1回)

以下の図のように一度設定してしまえば後は意識することなく自動でバージョン管理してくれます

インストールは以下のように簡単にできます

apt-get install etckeeper

/etc/etckeeper/etckeeper.confを編集して使用するVCSを選びます
下記はgitを選んだ場合です

# The VCS to use.
#VCS="hg"
VCS="git"
#VCS="bzr"
#VCS="darcs"

あとは以下のコマンドでバージョン管理を開始します
/etc以下に.gitが作成されていればOKです

etckeeper init
etckeeper commit

※git initではなく必ずetckeeper initを使ってくださいgit initだと一般ユーザーがログからshadowを覗けたりするため、セキュリティ的に好ましくありません

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

yamasita

東京電機大学工学部→3年間某SIerにて銀行システムの開発→bpsに入社

yamasitaの書いた記事

インフラ
現場で使うansible

2014年12月25日

インフラ
検証環境の作り方

2014年08月14日

週刊Railsウォッチ

インフラ

Rubyスタイルガイドを読む

BigBinary記事より

ActiveSupport探訪シリーズ