いつも忘れるので、備忘録です。
id=”目次”>目次
動機
サーバ増やしたい時に、VMでクローンするとクローン元のIPアドレスだったりホスト名がコンフィグやファイル名として残っていますよね。残っていますね。
それらを手動で変更するのが面倒なので、コマンドで変更するのですが、毎度忘れてしまうので残しておきます。
ファイル名の置換
条件としてはこんな感じ。
クローン元アドレス: 192.168.12.1 クローン後アドレス: 192.168.13.5 ファイル構成: # ls 192.168.12.1.conf 192.168.12.1.txt ファイルの中身 # grep "192.168.12.1" ./*192.168.12.1* ./192.168.12.1.conf:IP=192.168.12.1 ./192.168.12.1.txt:ADDR=192.168.12.1
まずはファイル名のアドレスを置換します。
基本renameコマンドでやってしまいます。
$ rename '192.168.12.1' '192.168.13.5' ./*192.168.12.1* $ ls 192.168.13.5.conf 192.168.13.5.txt
ファイル内文字列の置換
次にファイル内の文字列を置換します。sed で上書きするときは、念の為-iオプションの後ろにbakとかつけて、変更前を残しておいたほうが良いかもしれないですね。diffで確認できるし。
$ grep -l '192.168.12.1' ./*192.168.12.1* | xargs sed -i.bak -e 's/192.168.12.1/192.168.13.5/g' $ diff -u 192.168.12.1.conf.bak 192.168.12.1.conf --- 192.168.12.1.conf.bak 2019-02-08 15:19:44.616028527 +0900 +++ 192.168.12.1.conf 2019-02-08 15:20:16.508695136 +0900 @@ -1 +1 @@ -IP=192.168.12.1 +IP=192.168.13.5 $ diff -u 192.168.12.1.txt.bak 192.168.12.1.txt --- 192.168.12.1.txt.bak 2019-02-08 15:19:44.616028527 +0900 +++ 192.168.12.1.txt 2019-02-08 15:20:16.508695136 +0900 @@ -1 +1 @@ -ADDR=192.168.12.1 +ADDR=192.168.13.5
以上!!