Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

ISUCON でミドルウェアの設定ファイルを Git 管理したときのメモ

More than 1 year has passed since last update.

目的

/etc 以下にある設定ファイルを Git 管理下の所定のディレクトリに移動し、もとの設定ファイルはそこへのシンボリックリンクとしたい。

操作ミスによってファイルが消えないよう、安全にやりたい。

操作手順

以下の例は /etc/my.cnf/home/isucon/etc 下に置いて管理したい、という想定。

まずは対象のファイルを Git 管理下のディレクトリコピーします。

cp /etc/my.cnf /home/isucon/etc/my.cnf

失敗しても復帰できるよう、先にコミットしておきます。

cd /home/isucon/etc
git add my.cnf
git commit -m "add my.cnf"

最後にシンボリックリンクを作成します。

/etc 下への書き込み操作なので sudo をつけます。

sudo ln -sb /home/isucon/etc/my.cnf /etc/my.cnf

補足説明

-b オプションは、作成するシンボリックリンクと同名のファイルが存在している場合に、その既存ファイルのバックアップを作成してからシンボリックリンクを作成する、というものです。

以下のようにファイル名末尾に ~ がついたファイルが作成されていることが確認できます。

$ ls -l /etc | grep my.cnf
lrwxrwxrwx 1 root root      23 Jun  8 15:39 my.cnf -> /home/isucon/etc/my.cnf
-rw-r--r-- 1 root root     194 Apr 21 13:25 my.cnf~

「末尾に ~ がついていても設定ファイルとして認識されていた」という事故を防ぐため、正しくシンボリックリンクを作成できたことを確認したらこのバックアップは削除したほうがよいでしょう。

willgate
ウィルゲートが理想とする社会は、一人ひとりが自身の『will(意志、想い、やりたいこと)』を実現できる社会です。
https://willgate.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away