shell脚本实战:个人网站V1版本脚本案例

Posted 互联网老辛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本实战:个人网站V1版本脚本案例相关的知识,希望对你有一定的参考价值。

使用shell脚本安装LAMP架构+个人网站

一切皆为自动化


[root@itlaoxin41 ~]# cat -n wordpressv1.sh 
     	#!/bin/bash
     	# 此脚本需要把wordpress的包放在/root/下
     ## 定义常量
     	filename=wp-config.php
     	lujing3=/var/www/html/wordpress/
     	lujing1=/var/www/html/
     lujing2=/etc/httpd/conf/
     	baoming=wordpress-4.9.4-zh_CN.tar.gz
     ## 截取IP
     	ip=`ifconfig |grep inet|awk 'NR==1print $2'`
     ## 要求用户输入选项
     	echo "1. 安装HTTPD" ;echo "2. 安装mariadb"  ;echo "3. 安装PHP";echo "4. 安装LAMP架构+wordpress网站";echo "5. 退出"
    	
    	read -p  "请下列选项中选择你想做的操作:" num
    	case $num in 
    	1)
    	  yum install httpd httpd-devel -y &>/dev/null &
    	 wait
    	 echo "httpd 已经安装完了"
    	;;
    	2)
    	 yum install mariadb mariadb\\* -y &>/dev/null &
    	wait
    	 echo "mariadb安装完成"
    	;;
    	3)
    	 yum install php php-mysql -y &>/dev/null &
    	
    	wait
    	 echo "php安装完成"
    	;;
    	4)
    	## 此处安装LAMP+wordpress 
    	yum install mariadb mariadb-server php php-mysql httpd httpd-devel elinks curl unzip wget &>/dev/null &
    	wait
    	## 判断是否执行成功
    	if [ $? -eq 0 ];then
    		echo "LAMP安装成功"
    	else
    		yum install mariadb\\* &>/dev/null
    	fi
    	cd ~
    	if [ -f $baoming ] ;then
    	## 移动到路径1里
    	mv /root/$baoming  $lujing1
    
    	cd $lujing1
    if [ -f $baoming ];then
    echo "切换路径成功"
    else  
    mv /root/$baoming /var/www/html/
    fi
    	tar xf $baoming
    	
    	else
    		echo "当前文件$baoming不存在,请及时检查"
    	exit
    	fi
    	
    	systemctl restart mariadb httpd &>/dev/null &
    	
    	wait 
    ## 配置MySQL数据库并授权
    	mysql -e "drop database if exists wordpress;"
    	mysql -e "create database wordpress;"
    	
    	mysql -e "grant all on *.* to wordpress@'%' identified by '123456';"
    	echo "itlaoxin"
    	## 修改apache的配置文件
    	cat >> $lujing2httpd.conf <<EOF
    	<VirtualHost *:80>
    	 DocumentRoot /var/www/html/wordpress
    	</VirtualHost>
    	EOF
    	## 重启配置文件
    	systemctl restart mariadb &>/dev/null &
    	systemctl restart httpd &>/dev/null &
    	wait
    	##检查MySQL是否运行
    	jc=`ps aux |grep mariadb |grep -v grep |wc -l`
    	if [ $jc -eq 0 ];then
    		echo "mysql 没有启动请重新检查"
    		systemctl restart mariadb
    	else
    	echo "mysql正常启动"
    	fi
    	
    	cd $lujing3
    	
    	cp wp-config-sample.php wp-config.php
    	sed -i s/database_name_here/wordpress/g $lujing3$filename
    	
    	sed -i s/username_here/wordpress/g $lujing3$filename
    	
    	sed -i s/password_here/123456/g $lujing3$filename
    	
    	echo "配置完成,请按照提示完成操作"
    	echo "itlaoxin"
    	echo "当前服务器的IP为$ip"
    	echo "请在浏览器输入$ip:80"
    	echo "按照浏览器的操作提示进行操作"
    	echo "数据库名为: wordpress"
    	echo "数据库密码为: 123456" 
    	
    	echo "itlaoxin"
    	
    	
    	;;
    	
    	5)
    	read -p "是否确认退出当前宝塔清单:Y/N" ch
   	
   	if [ "$ch" == "Y" -o "$ch" == "y" ];then
   	echo "正在退出"
   	exit
   	elif [ "$ch" == "N" -o "$ch" == "n" ];then
   	 echo "请稍后"
   	else
   	echo "请输入正确的字母"
   	echo "itlaoxin"
   	fi
   	exit
   	;;
   
   	esac


这个脚本是V1版本,后面还可以继续优化,遵循演化原则

演化的基本原则是: 重要的优先优化

比如 在此脚本中,发现MySQL启动成功比较重要,于是就在MySQL启动后进行判断。

发现复制包到某个路径比较重要,就加判断和测试。

以上是关于shell脚本实战:个人网站V1版本脚本案例的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本实战:个人网站V1版本脚本案例

shell脚本实战-实现磁盘使用率超过90%就告警的三种方法v1版

shell脚本实战-实现磁盘使用率超过90%就告警的三种方法v1版

shell脚本实战-实现磁盘使用率超过90%就告警的三种方法v1版

shell脚本实战-部署nginx脚本

shell脚本实战-部署nginx脚本