一个客户端一键安装环境和服务的shell脚本
#!/bin/bash
basepath=$(cd `dirname $0`; pwd)
SHELL_DIR="${basepath}/shell"
PACKAGE_DIR="${basepath}/package"
##############################install rpm##########################
#关闭不必要的软件并禁止开机启动
systemctl stop firewalld
systemctl disable firewalld
#关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#开启转发
if [ `grep -v '^\s*#' /etc/sysctl.conf |grep -c 'net.ipv4.ip_forward\s\+=\s\+1'` -eq 0 ];then
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
fi
echo "start install RPMs"
rpm -ivh $PACKAGE_DIR/autossh-1.4e-1.el7.x86_64.rpm
rpm -ivh $PACKAGE_DIR/net-tools-2.0-0.17.20131004git.el7.x86_64.rpm
rpm -ivh $PACKAGE_DIR/sysstat-10.1.5-7.el7.x86_64.rpm
rpm -ivh $PACKAGE_DIR/traceroute-2.0.19-5.el7.x86_64.rpm
rpm -ivh $PACKAGE_DIR/telnet-0.17-59.el7.x86_64.rpm
rpm -ivh $PACKAGE_DIR/tcpdump-4.5.1-3.el7.x86_64.rpm
rpm -ivh $PACKAGE_DIR/lrzsz-0.12.20-36.el7.x86_64.rpm
rpm -ivh $PACKAGE_DIR/iptables-services-1.4.21-16.el7.x86_64.rpm
rpm -ivh $PACKAGE_DIR/ntpdate-4.2.6p5-22.el7.centos.x86_64.rpm
yum install -y nfs-utils rpcbind
#校准系统时间
ntpdate "time1.aliyun.com"
#ssh登陆时不提示yes/no
echo 'StrictHostKeyChecking no' > /root/.ssh/config
#清空iptables,并保存
iptables -F
iptables -F -t nat
iptables-save > /etc/sysconfig/iptables
systemctl enable iptables
echo "success!"
##############################Deploy process01########################
echo "start deploy process01"
process01_DIR="/data/website"
if [ ! -e $process01_DIR ];then
mkdir -p $process01_DIR
fi
rm -rf $process01_DIR/*
cp -r $basepath/package/process01-beta $process01_DIR
cp -r $basepath/package/process02Anal $process01_DIR
chmod +x $process01_DIR/*
if [ ! -e /data/socket/ ];then
mkdir -p /data/socket/
fi
rm -rf /data/socket/*
cp -r $basepath/package/jiankong_start.sh /data/socket/
chmod +x /data/socket/jiankong_start.sh
cat $basepath/package/rc.local > /etc/rc.local
chmod +x /etc/rc.d/rc.local
process01pid=`ps aux|grep process01|grep -v "grep"|awk '{print $2}'`
if [ "$process01pid" ];then
kill -9 $process01pid
echo "old process01 is killed"
fi
process02pid=`ps aux|grep process02Anal|grep -v "grep"|awk '{print $2}'`
if [ "$process02pid" ];then
kill -9 $process02pid
echo "old process02Anal is killed"
fi
jiankongpid=`ps aux|grep jiankong|grep -v "grep"|awk '{print $2}'`
if [ "$jiankongpid" ];then
kill -9 $jiankongpid
echo "jiankong process is killed"
fi
nohup /data/socket/jiankong_start.sh &
if [ $? -ne 0 ]; then
echo "new jiankong process starting failed"
exit 1
fi
sleep 5
process01pid=`ps aux|grep process01|grep -v "grep"|awk '{print $2}'`
if [ "$process01pid" ];then
echo "success! process01 is running now"
fi
process02pid=`ps aux|grep process02Anal|grep -v "grep"|awk '{print $2}'`
if [ "$process02pid" ];then
echo "success ! process02Anal is running now"
fi
rm -rf /data/socket/public/
cp -r $basepath/package/public /data/socket/
chmod +x /data/socket/public/*
##############################Deploy nfs########################
echo "start deploy nfs-server"
cat $basepath/package/exports > /etc/exports
systemctl restart rpcbind
systemctl enable rpcbind
systemctl restart nfs
systemctl enable nfs
rm -rf /root/wendang/
cp -r $basepath/package/wendang /root/
cd /root/wendang/
chmod 777 Private/
chmod +x Program/
chmod +x Program/*
rpcbindpid=`ps aux|grep rpcbind|grep -v "grep"|awk '{print $2}'`
if [ "$rpcbindpid" ];then
echo "success ! rpcbind is running now"
fi
nfspid=`ps aux|grep nfs|grep -v "grep"|awk '{print $2}'`
if [ "$nfspid" ];then
echo "success ! nfs-server is running now"
fi
一个客户端一键安装环境和服务的shell脚本的更多相关文章
- socket小程序写一个客户端,实现给服务端发送hello World字符串,将客户端发送的数据变成大写后返回
写一个客户端,实现给服务端发送hello World字符串,将客户端发送的数据变成大写后返回 本机id是192.168.xx.xy 服务端 import socket soc = socket.soc ...
- 一个统计 CPU 内存 硬盘 使用率的shell脚本
一个统计 CPU 内存 硬盘 使用率的shell脚本,供大家学习参考 #!/bin/bash #This script is use for describle CPU Hard Memery Uti ...
- Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务
文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...
- telnet登录路由器启动服务的shell脚本
因为在测试中经常要telnet登录到路由器中去配置环境启动路由器,每次都输入一遍命令太麻烦了,想着写一个shell脚本实现自动登录.配置环境.启动服务的过程. 脚本实现是使用expect来实现的,所以 ...
- 监测NGINX服务的shell脚本
Nginx 虽然处理并发量比 apache 确实要强点,但它这种 php-cgi 模式不是太稳定,这点网上也有朋友总结了,我在实现项目中也感受到了. 偶尔会出现以下情况的:php-cgi 进程突然消失 ...
- 监控Nginx服务的Shell脚本
Nginx 虽然处理并发量比 apache 确实要强点,但它这种 php-cgi 模式不是太稳定,这点网上也有朋友总结了,我在实现项目中也感受到了. 我们一台支付机,偶尔会出现以下情况的:php-cg ...
- 自己主动下载源代码_并编译_打包_部署_重新启动服务的Shell脚本
这里面Shell的各个操作含义,可參考我三年前的这篇文章:http://blog.csdn.net/jadyer/article/details/7960802 #!/bin/sh APP_NAME= ...
- 一个简单的同步集群的shell脚本
编写一个xsync文件 然后放在/usr/local/bin 目录下面 xsync文件如下: #!/bin/bash #1 获取输入参数个数,如果没有参数,直接退出 pcount=$# if((pco ...
- 一个导出redis有序集合sorted-sets的shell脚本
通过keys匹配需要导出的有序集合名称,这些集合命名格式为:*_010_09/Dec/2015 依次通过zscan导出有序集合中的数据,并分别保存 #/bin/shzset_pattern=”*_01 ...
随机推荐
- nginx版本如何选择?
生产环境使用Stable version:最新稳定版,现在最新的版本是nginx-1.8.1 注意各版本的区别:Nginx官网提供了三个类型的版本 1.Mainline version:Mainlin ...
- Python3 的数据类型
Python3 的数据类型 整形,浮点型,布尔类型 类型转换 int() 整形 采用截断的方式即向下取整,比如 a=5.5 int (a) 返回值为5 怎样才能使int()按照"四舍五入&q ...
- jsp中${}
jsp中${}----是EL表达式的常规表示方式目的是为了获取{}中指定的对象(参数.对象等)的值 如:${user.name}<====>User user = (User)reques ...
- Effective Java 第三版——28. 列表优于数组
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- Linux指令--chgrp
在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change group的 ...
- <global-results>标签来定义全局的<result>
<global-results> <result name="error">/Error.jsp</result> <!-- Ac ...
- android webview加载网络连接
webview = (WebView) findViewById(R.id.webview); WebSettings webSettings = webview.getSettings(); //设 ...
- 时间转换与星期推算(Matlab版)
1 概述 最近在学习GPS解算算法时需要在GPS时(GPS周和周内秒)和公历日期之间进行转换,于是就整理了一些时间转换的小程序. 本文介绍了GPS时.公历.儒略日(JD).简化儒略日(MJD)之间的转 ...
- 【原创】Hibernate通过实体类自动建表时type=MyISAM的问题
ι 版权声明:本文为博主原创文章,未经博主允许不得转载. 当使用的mysql数据库为5.5版本时,方言需要设置为 <property name="hibernate.dialect&q ...
- Spring的事务管理(理论篇,下篇提供代码实现)
事务:逻辑上的一组操作,这组操作要么全部成功,要么全部失败(事务十大特性:原子性,一致性,隔离性,持久性) 原子性:事务是不可分割的工作单位,事务中的操作要么都发生了,要么都不发生.(也就是说不能单独 ...