Linuxのカスタマイズスクリプト

直近、クラウドプロバイダーの案件を携わっています。仮想サーバの新規開通は既存のテンプレートから作ります。カスタマイズの項目は決まっていますが、設定値は毎回変わります。簡単な要件ではありますが、実現できるまで2〜3日もかかりました。

カスタマイズスクリプトはBashで作りました。全体構造は以下になります。

1、メニュー
EasyInfra様 CentOS新規開通スクリプト
============================================
下記のリストから望ましいタスクを選んで下さい。
 1、ホスト名とドメイン名の設定
 2、標準設定
 3、カスタマイズ設定
 4、パスワードの再設定(複数ユーザー)
============================================
半角のタスク番号を入力下さい。[1~4]:
2、設定項目
#ファクション定義
selinux ()
{
   if getenforce == "enabled"
   then
      sed -i "s/^SELINUX=.*$/SELINUX=disabled/" /etc/sysconfig/selinux
   fi
}

firewalld ()
{
   systemctl stop firewalld && ¥
   systemctl disable firewalld.service && ¥
   systemctl status firewalld.service
}
3、カスタマイズ設定
case "$task_id" in
 1)
   ~略~
   ;;
 2)
   selinux
   firewalld
   ;;
 3)
   ~略~
   ;;
 4)
   ~略~
   ;;
 *)
   echo "半角のタスク番号(1~4)を入力下さい。"
   ;;
esac

↑はあくまで例になります。設定項目ごとファクションを定義し、カスタマイズの部分はファクションの呼び出すだけで済みます。OSのバージョン変更より仕様が変わった場合も対象ファクションの編集のみで対応できます。お仕事は楽になるでしょう!