#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

# for mac
export PATH=$PATH:/opt/homebrew/bin

curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")

# cd /Users/midoks/Desktop/mwdev/server/mdserver-web/plugins/keepalived && bash install.sh install 2.2.8
# cd /www/server/mdserver-web/plugins/keepalived && bash install.sh install 2.2.8

# /www/server/keepalived/init.d/keepalived start

# systemctl status keepalived
# systemctl restart keepalived
# ifconfig

VERSION=$2

Install_App()
{
	echo '正在安装keepalived脚本文件...'
	mkdir -p $serverPath/source/keepalived

	if [ ! -f $serverPath/source/keepalived/keepalived-${VERSION}.tar.gz ];then
		wget -O $serverPath/source/keepalived/keepalived-${VERSION}.tar.gz https://keepalived.org/software/keepalived-${VERSION}.tar.gz
	fi

	#检测文件是否损坏.
	md5_file_ok=8c26f75a8767e5341d82696e1e717115
	if [ -f $serverPath/source/keepalived/keepalived-${VERSION}.tar.gz ];then
		md5_file=`md5sum $serverPath/source/keepalived/keepalived-${VERSION}.tar.gz  | awk '{print $1}'`
		if [ "${md5_file}" != "${md5_file_ok}" ]; then
			echo "keepalived-${version} 下载文件不完整,重新安装"
			rm -rf $serverPath/source/keepalived/keepalived-${VERSION}.tar.gz
		fi
	fi
	
	echo $serverPath/keepalived/keepalived-${VERSION}
	if [ -d $serverPath/keepalived/keepalived-${VERSION} ];then
		cd  $serverPath/keepalived/keepalived-${VERSION}
	else 
		cd $serverPath/source/keepalived && tar -zxvf keepalived-${VERSION}.tar.gz
		cd  $serverPath/keepalived/keepalived-${VERSION}
	fi

	cd $serverPath/source/keepalived/keepalived-${VERSION}

	./configure --prefix=$serverPath/keepalived && make && make install

	# for test
	# mkdir -p $serverPath/keepalived
	if [ -d $serverPath/keepalived ];then
		echo "${VERSION}" > $serverPath/keepalived/version.pl
		echo 'keepalived安装完成'

		cd ${rootPath} && python3 ${rootPath}/plugins/keepalived/index.py start
		cd ${rootPath} && python3 ${rootPath}/plugins/keepalived/index.py initd_install
	fi

	if [ -d $serverPath/source/keepalived/keepalived-${VERSION} ];then
		rm -rf $serverPath/source/keepalived/keepalived-${VERSION}
	fi
}

Uninstall_App()
{
	if [ -f /usr/lib/systemd/system/keepalived.service ];then
		systemctl stop keepalived
		systemctl disable keepalived
		rm -rf /usr/lib/systemd/system/keepalived.service
		systemctl daemon-reload
	fi

	if [ -f /lib/systemd/system/keepalived.service ];then
		systemctl stop keepalived
		systemctl disable keepalived
		rm -rf /lib/systemd/system/keepalived.service
		systemctl daemon-reload
	fi

	if [ -f $serverPath/keepalived/initd/keepalived ];then
		$serverPath/keepalived/initd/keepalived stop
	fi

	rm -rf $serverPath/keepalived
	echo "keepalived卸载完成"
}

action=$1
if [ "${1}" == 'install' ];then
	Install_App
else
	Uninstall_App
fi
