#!/bin/bash ########################################################################################## # Filename: InstallSlatMinion.sh # 823431828@qq.com ########################################################################################## 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:password@ftp.sinashow.com/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为自己环境地址
原文地址:http://wupengfei.blog.51cto.com/7174803/1964972