设为首页 收藏本站
查看: 999|回复: 0

wdcp的环境搭建shell脚本分析--install.sh

[复制链接]

尚未签到

发表于 2018-8-29 09:11:04 | 显示全部楼层 |阅读模式
#!/bin/bash  
###
  

  
#定义screen的名字,下面安装会用screen这个命令
  
SCREEN_NAME="lanmp"
  

  

  
#根据$UID判断用户是否为root,必须root才能执行
  
if [ $UID != 0 ]; then
  
    echo "You must be root to run the install script."
  
    exit
  
fi
  

  
#根据命令行参数判断,参数为un或者uninstall时,停止服务,删除文件,卸载掉整个WDCP服务
  
if [ "$1" == "un" -o "$1" == "uninstall" ]; then
  
    service httpd stop
  
    service nginxd stop
  
    service mysqld stop
  
    service pureftpd stop
  
    service wdapache stop
  
    #建立文件备份目录
  
    mkdir /www/backup
  
    bf=$(date +%Y%m%d)
  
    #打包数据库文件
  
    tar zcf /www/backup/mysqlbk_$bf.tar.gz /www/wdlinux/mysql/var
  
    rm -fr /www/wdlinux
  
    rm -f /tmp/*_ins.txt
  
    reboot
  
    exit
  
fi
  

  
#对当前系统中是否存在screen进程进行判断,如果已经存在lanmp的screen进程,则提示,并退出
  
if type -p screen >/dev/null && screen -ls |grep -q "[0-9].$SCREEN_NAME"; then
  
    echo "Seems another lanmp install session is taken place."
  
    echo "Rejoin this session plz type: 'screen -r $SCREEN_NAME'."
  
    exit 1
  
fi
  

  

  
#根据/etc/issue判断当前系统类型,然后根据type的返回结果,判断是否安装screen,没有安装,就进行安装
  

  
if grep -qi 'debian\|ubuntu' /etc/issue; then
  
    type -p screen >/dev/null || apt-get -y install screen
  
else
  
    type -p screen >/dev/null || yum -y install screen
  
fi
  

  

  
#准备安装的screen会话
  

  

  
#判断是否存在screen这个命令
  
if type -p screen >/dev/null; then
  
    #如果存在的话,执行下列命令,执行安装和配置LANMP环境
  
    screen -d -m -S $SCREEN_NAME -t lanmp -s /bin/bash
  
    sleep 1.5
  
    if [ -z "$SCREEN_HARDSTATUS" ]; then
  
        SCREEN_HARDSTATUS='%{= .} %-Lw%{= .}%> %n%f %t*%{= .}%+Lw%< %-=%{g}(%{d}%H/%l%{g})'
  
    fi
  
    screen -r $SCREEN_NAME -X hardstatus alwayslastline "$SCREEN_HARDSTATUS"
  
    NL=$(echo -ne '\015')
  
    screen -S $SCREEN_NAME -p lanmp -X stuff \
  
        "(./lanmp.sh|tee lanmp_ins.log);(./wdcp.sh|tee wdcp_ins.log)$NL"
  
    screen -r $SCREEN_NAME
  

  
#如果不存在的话,则先安装screen这个命令
  
else
  
    echo "Cannot find 'screen' command,install without screen(default yes)?"
  
    sleep 0.1
  
    read -p "(Yes/No): " i
  
    case $i in
  
        no|No|NO|n|N)
  
            echo "Please install 'screen' before install lanmp."
  
            echo "for ubuntu/debian: apt-get update && apt-get install screen"
  
            echo "for CentOS/RHEL: yum update && yum install screen"
  
            exit
  
            ;;
  
        *)
  
            ./lanmp.sh|tee lanmp_ins.log
  
            ./wdcp.sh|tee wdcp_ins.log
  
            ;;
  
    esac
  
fi



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-557980-1-1.html 上篇帖子: Bash shell和变量详解 下篇帖子: Mac上的终端bash命令 Bourne-Again Shell简介
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表