bashスクリプトプログラミング18 Keepalived自動配置

1682 ワード

先にKeepalivedを手作業で配置した記事に続いて、今回は自動的に配置します.
keepalivedディレクトリを作成します.ダウンロードして解凍したkeepalived-1.2.7ディレクトリが格納されています.システムサービスとして使用されるkeepalivedスクリプトも含まれています.
前の文で修正してubuntuに使用できるバージョンであることに注意してください.
install.shスクリプトの内容:
#!/bin/bash 

source ../common/tool.sh

libssl="libssl-dev"
openssl="openssl"
popt="libpopt-dev"
daemonService="daemon"

installDpkg $libssl
installDpkg $openssl
installDpkg $popt
installDpkg $daemonService

cd keepalived-1.2.7
./configure --prefix=/usr
make
make install

cd ..

cp ./keepalived /etc/init.d/
cd /etc/init.d/

update-rc.d keepalived start 21 2 3 4 5 . stop 21 0 1 6 .
#update-rc.d keepalived default

createFolder "/var/lock/subsys"
cd -
make clean

service keepalived start

新しい関数installDpkgが使用され、toolに定義されています.shスクリプト:
#$1 dpkg name
function installDpkg {
    hasDpkg $1
    r=$?
    
    if [ $r -eq 1 ]
    then
	echo "$1 was installed"
    else
	echo "$1 was not installed, installing..."
	apt-get install $1
    fi
}

keepalivedのディレクトリ構造は次のとおりです.
keepalived# tree -L 2
.
├── install.sh
├── install.sh~
├── keepalived
├── keepalived~
└── keepalived-1.2.7
    ├── AUTHOR
    ├── bin
    ├── ChangeLog
    ├── config.log
    ├── config.status
    ├── configure
    ├── configure.in
    ├── CONTRIBUTORS
    ├── COPYING
    ├── doc
    ├── genhash
    ├── INSTALL
    ├── install-sh
    ├── keepalived
    ├── keepalived.spec
    ├── keepalived.spec.in
    ├── lib
    ├── Makefile
    ├── Makefile.in
    ├── README
    ├── TODO
    └── VERSION

6 directories, 21 files