1. 程式人生 > >CentOS6安裝salt-minion腳本

CentOS6安裝salt-minion腳本

安裝 centos6 salt

#!/bin/bash
##########################################################################################
# Filename: InstallSlatMinion.sh
# [email protected]
##########################################################################################

PKGPATH="/usr/local/src/salt"

function err {
echo ""
echo ""
echo -e "\e[31m----Install Error: $1 Error!!------\e[0m"
echo ""
echo ""
exit
}

function downsaltpkg {
cd  /usr/local/src
wget ftp://wu:[email protected]/salt/saltpkg.tar.gz >/dev/null 2>&1
tar xf saltpkg.tar.gz 
echo -e "\e[32m----downsaltpkg OK!\e[0m"
}

function InstallPython27 {
cd ${PKGPATH}
tar xf Python-2.7.13.tgz
cd Python-2.7.13
./configure --enable-shared >/dev/null 2>&1
[ $? != 0 ] && err ‘python27 configure‘
sed -i "s/#readline readline.c/readline readline.c/" ./Modules/Setup
make >/dev/null 2>&1
[ $? != 0 ] && err ‘python27 make‘
make install >/dev/null 2>&1
[ $? != 0 ] && err ‘python27 make install‘
echo "/usr/local/lib/" >> /etc/ld.so.conf
ldconfig
echo -e "\e[32m----InstallPython27 OK!\e[0m"
}

function Installzeromq {
cd ${PKGPATH}
tar xf zeromq-4.2.2.tar.gz 
cd zeromq-4.2.2
./configure  >/dev/null 2>&1
[ $? != 0 ] && err ‘zeromq configure‘
make  >/dev/null 2>&1
[ $? != 0 ] && err ‘zeromq make‘
make install >/dev/null 2>&1
[ $? != 0 ] && err ‘zeromq make install‘
echo -e "\e[32m----Installzeromq OK!\e[0m"
}

function Insetallsetuptools {
cd ${PKGPATH}
unzip setuptools-36.4.0.zip >/dev/null 2>&1
cd setuptools-36.4.0
python setup.py install >/dev/null 2>&1
echo -e "\e[32m----Insetallsetuptools OK!\e[0m"
}

function InstallM2Crypto {
cd ${PKGPATH}
tar xf M2Crypto-0.26.0.tar.gz 
cd M2Crypto-0.26.0
python setup.py install build_ext --openssl=/usr/include/openssl/ >/dev/null 2>&1
echo -e "\e[32m----InstallM2Crypto OK!\e[0m"
}

function InstallPip {
cd ${PKGPATH}
tar xf pip-9.0.1.tar.gz 
cd pip-9.0.1
python setup.py install >/dev/null 2>&1
echo -e "\e[32m----InstallPip OK!\e[0m"
}

function PipInstallPKg {
cd ${PKGPATH}
/usr/local/bin/pip install  MarkupSafe-1.0.tar.gz pycrypto-2.6.1.tar.gz pyzmq-17.0.0b1.tar.gz msgpack-python-0.4.8.tar.gz Jinja2-2.9.6.tar.gz python-dateutil-2.6.1.tar.gz PyYAML-3.12.tar.gz requests-2.18.4.tar.gz futures-3.1.1.tar.gz singledispatch-3.4.0.3.tar.gz tornado-4.5.2.tar.gz >/dev/null 2>&1
echo -e "\e[32m----PipInstallPKg OK!\e[0m"}
}

function PipInstallSalt {
/usr/local/bin/pip install salt-2017.7.1.zip >/dev/null 2>&1
echo -e "\e[32m----PipInstallSalt OK!\e[0m"}
mkdir -p /etc/salt
mkdir -p /data0/logs/salt
cp /usr/local/src/salt/{minion,minion_default} /etc/salt
cp /usr/local/src/salt/salt-minion /etc/init.d/
ln -s /usr/local/bin/salt-minion /usr/bin/
chmod +x /etc/init.d/salt-minion
chkconfig --level 235 salt-minion on
service salt-minion start
}


yum -y install gcc gcc-c++ python-devel python-dev zlib-devel readline-devel bzip2-devel openssl-devel >/dev/null 2>&1
downsaltpkg
InstallPython27
Installzeromq
Insetallsetuptools
InstallM2Crypto
InstallPip
PipInstallPKg
PipInstallSalt

註意事項:

(1)腳本中把所有需要的包都打包在saltpkg.tar.gz中
(2)saltpkg.tar.gz需要更改 下載地址,腳本為我本地ftp地址
(3)minion配置文件需要修改id和master為自己環境地址

CentOS6安裝salt-minion腳本