#!/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脚本的更多相关文章

  1. socket小程序写一个客户端,实现给服务端发送hello World字符串,将客户端发送的数据变成大写后返回

    写一个客户端,实现给服务端发送hello World字符串,将客户端发送的数据变成大写后返回 本机id是192.168.xx.xy 服务端 import socket soc = socket.soc ...

  2. 一个统计 CPU 内存 硬盘 使用率的shell脚本

    一个统计 CPU 内存 硬盘 使用率的shell脚本,供大家学习参考 #!/bin/bash #This script is use for describle CPU Hard Memery Uti ...

  3. Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务

    文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...

  4. telnet登录路由器启动服务的shell脚本

    因为在测试中经常要telnet登录到路由器中去配置环境启动路由器,每次都输入一遍命令太麻烦了,想着写一个shell脚本实现自动登录.配置环境.启动服务的过程. 脚本实现是使用expect来实现的,所以 ...

  5. 监测NGINX服务的shell脚本

    Nginx 虽然处理并发量比 apache 确实要强点,但它这种 php-cgi 模式不是太稳定,这点网上也有朋友总结了,我在实现项目中也感受到了. 偶尔会出现以下情况的:php-cgi 进程突然消失 ...

  6. 监控Nginx服务的Shell脚本

    Nginx 虽然处理并发量比 apache 确实要强点,但它这种 php-cgi 模式不是太稳定,这点网上也有朋友总结了,我在实现项目中也感受到了. 我们一台支付机,偶尔会出现以下情况的:php-cg ...

  7. 自己主动下载源代码_并编译_打包_部署_重新启动服务的Shell脚本

    这里面Shell的各个操作含义,可參考我三年前的这篇文章:http://blog.csdn.net/jadyer/article/details/7960802 #!/bin/sh APP_NAME= ...

  8. 一个简单的同步集群的shell脚本

    编写一个xsync文件 然后放在/usr/local/bin 目录下面 xsync文件如下: #!/bin/bash #1 获取输入参数个数,如果没有参数,直接退出 pcount=$# if((pco ...

  9. 一个导出redis有序集合sorted-sets的shell脚本

    通过keys匹配需要导出的有序集合名称,这些集合命名格式为:*_010_09/Dec/2015 依次通过zscan导出有序集合中的数据,并分别保存 #/bin/shzset_pattern=”*_01 ...

随机推荐

  1. jquery ajax 请求中多出现一次OPTIONS请求及其解决办法

    http://www.tangshuang.net/2271.html 在上一篇<服务端php解决jquery ajax跨域请求restful api问题及实践>中,我简单介绍了如何通过服 ...

  2. Composer 是什么

    简单来说,Composer 是一个新的安装包管理工具,服务于 PHP 生态系统.它实际上包含了两个部分:Composer 和 Packagist.下面我们就简单说一下他们各自的用途. Composer ...

  3. 学习javascript数据结构(四)——树

    前言 总括: 本文讲解了数据结构中的[树]的概念,尽可能通俗易懂的解释树这种数据结构的概念,使用javascript实现了树,如有纰漏,欢迎批评指正. 原文博客地址:学习javascript数据结构( ...

  4. TCP是什么? 最简单的三次握手说明

    TCP是什么? TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的.可靠的. 基于IP的传输层协议.TCP在IP报文的协议号是6.TCP是一 ...

  5. python 实现词云

    拿现在比较火的小说<大主宰>做测试,看看其中的关键词词云是啥 代码 import matplotlib.pyplot as plt from wordcloud import WordCl ...

  6. C# winform页面可视化设计打开失败,提示未能加载程序集或他的一个依赖项,dll错误

    这种情况发生在最初项目是x86属性,改成x64后,一些原来dll,页面没有及时更新,导致页面找不到dll, 最简单的解决方式,把项目属性改成AnyCpu,重新编译下,就可以打开可视化设计窗口了.

  7. Android 基础:常用布局 介绍 & 使用(附 属性查询)

    Android 基础:常用布局 介绍 & 使用(附 属性查询)   前言 在 Android开发中,绘制UI时常需各种布局 今天,我将全面介绍Android开发中最常用的五大布局 含 Andr ...

  8. AMS常见问题

      1.安装完AMS是否就可以实现直播点播了? 答:是的,ams运行后,就可以提供各种协议的直播输出地址,和点播地址:不过一般情况下客户还得需要另外的Web系统来配合使用,来完成对前台用户界面的友好化 ...

  9. Linux指令--rcp,scp

    rcp代表"remote file copy"(远程文件拷贝).该命令用于在计算机之间拷贝文件.rcp命令有两种格式.第一种格式用于文件到文件的拷贝:第二种格式用于把文件或目录拷贝 ...

  10. [JLOI2011]基因补全

    1973: [JLOI2011]基因补全 Time Limit: 1 Sec  Memory Limit: 256 MB Description 在生物课中我们学过,碱基组成了DNA(脱氧核糖核酸), ...