Shell是一种强大的脚本语言,常用于系统管理和自动化任务,通过编写Shell脚本,我们可以简化系统操作流程,提高工作效率。在安装系统过程中,Shell脚本也起到了重要的作用。本文将分享一些Shell安装系统的脚本实例,帮助读者更好地理解和运用Shell脚本。无论是初学者还是有经验的系统管理员,都可以从这些实例中学习到更多关于Shell脚本的知识和技巧。
1、一级菜单
2、二级菜单
3、执行操作
脚本参考:
复制代码 代码如下:#!/bin/bash#author lic(oldboy linux student)#date 1304DISK_NO="/dev/sda1"NGINX_DIR="/usr/local/tdoa/nginx/sbin/nginx"MYSQL_DIR="/usr/local/tdoa/mysql/bin/mysqld_safe"SERVER1="WEB"SERVER2="MYSQL"SERVER1_START="/usr/local/tdoa/nginx/sbin/nginx"SERVER1_STOP="kill -QUIT `cat /usr/local/tdoa/logs/nginx/nginx.pid`"SERVER1_RESTART="kill -HUP `cat /usr/local/tdoa/logs/nginx/nginx.pid`"SERVER2_START="/etc/init.d/mysql start"SERVER2_STOP="/etc/init.d/mysql stop"SERVER2_RESTART="/etc/init.d/mysql restart"#dateDATE=`date +"%y-%m-%d %H:%M:%S"`#ipIPADDR=`ifconfig eth0|grep 'inet addr'|sed 's/^.*addr://g' |sed 's/Bcast:.*$//g'`#hostnameHOSTNAME=`hostname -s`#userUSER=`whoami`#disk_checkDISK_SDA=`df -h | grep $DISK_NO | awk '{print $5}'`#cpu_average_checkcpu_uptime=`cat /proc/loadavg | cut -c1-14`#process_checkfunction process_check() {for dir in $NGINX_DIR $MYSQL_DIRdoprocess_count=$(ps -ef | grep "$dir" | grep -v grep | wc -l)for service in nginx mysql doecho "$dir" |grep -q "$service"if [ $? -eq 0 ]thenif [ $process_count -eq 0 ]thenecho "$service.......................[NOT RUN]"elseecho "$service.......................[RUNNING]"continuefifidonedone}declare flag=0clearwhile [ "$flag" -eq 0 ]doecho "========================================"process_checkecho "========================================"cat << EOF|-----------System Infomation-----------| DATE :$DATE| HOSTNAME :$HOSTNAME| USER :$USER| IP :$IPADDR| DISK_USED :$DISK_SDA| CPU_AVERAGE:$cpu_uptime----------------------------------------|****Please Enter Your Choice:[0-5]****|----------------------------------------(1) Configure $SERVER1 Service(2) Configure $SERVER2 Service(3) Configure NETWORKE Service(4) Change Passwd(5) Logs(0) QuitEOFread -p "Please enter your choice[0-5]: " inputcase $input in#web service1)clearwhile [ "$flag" -eq 0 ]docat << EOF----------------------------------------|****Please Enter Your Choice:[0-3]****|----------------------------------------(1) Start $SERVER1 Service(2) Stop $SERVER1 Service(3) ReStart $SERVER1 Service(0) BackEOF read -p "Please enter your choice[0-3]: " input1 case $input1 in 1) echo -e "\n>>>>>>>>>>>$DATE Start $SERVER1">>/log.txt $SERVER1_START 2>>/log.txt if [ $? == 0 ];then echo "Start $SERVER1......................................................[OK]" else echo "Start $SERVER1......................................................[FAILED]" fi sleep 5 clear ;; 2) echo -e "\n>>>>>>>>>>>$DATE Stop $SERVER1">>/log.txt $SERVER1_STOP 2>>/log.txt if [ $? == 0 ];then echo "Stop $SERVER1.......................................................[OK]" else echo "Stop $SERVER1.......................................................[FAILED]" fi sleep 5 clear ;; 3) echo -e "\n>>>>>>>>>>>$DATE ReStart $SERVER1">>/log.txt /usr/local/tdoa/php/sbin/php-fpm restart 2>>/log.txt $SERVER1_RESTART 2>>/log.txt if [ $? == 0 ];then echo "Restart $SERVER1....................................................[OK]" else echo "Restart $SERVER1....................................................[FAILED]" fi sleep 5 clear ;; 0) clear break ;; *) echo "----------------------------------" echo "| Warning!!! |" echo "| Please Enter Right Choice! |" echo "----------------------------------" for i in `seq -w 10 -1 1` do echo -ne "\b\b$i"; sleep 1; done clear ;; esac done;;#mysql service2)clearwhile [ "$flag" -eq 0 ]docat << EOF----------------------------------------|****Please Enter Your Choice:[0-3]****|----------------------------------------(1) Start $SERVER2 Service(2) Stop $SERVER2 Service(3) ReStart $SERVER2 Service(0) BackEOF read -p "Please enter your Choice[0-3]: " input2 case $input2 in 1) echo -e "\n>>>>>>>>>>>$DATE Start $SERVER2">>/log.txt $SERVER2_START 2>>/log.txt if [ $? == 0 ];then echo "Start $SERVER2......................................................[OK]" else echo "Start $SERVER2......................................................[FAILED]" fi sleep 5 clear ;; 2) echo -e "\n>>>>>>>>>>>$DATE Stop $SERVER2">>/log.txt $SERVER2_STOP 2>>/log.txt if [ $? == 0 ];then echo "Stop $SERVER2.......................................................[OK]" else echo "Stop $SERVER2.......................................................[FAILED]" fi sleep 5 clear ;; 3) echo -e "\n>>>>>>>>>>>$DATE ReStart $SERVER2">>/log.txt $SERVER2_RESTART 2>>/log.txt if [ $? == 0 ];then echo "Restart $SERVER2....................................................[OK]" else echo "Restart $SERVER2....................................................[FAILED]" fi sleep 5 clear ;; 0) clear break ;; *) echo "----------------------------------" echo "| Warning!!! |" echo "| Please Enter Right Choice! |" echo "----------------------------------" for i in `seq -w 10 -1 1` do echo -ne "\b\b$i"; sleep 1; done clear ;; esac done;;#网络服务3)clearwhile [ "$flag" -eq 0 ]docat << EOF----------------------------------------|****Please Enter Your Choice:[0-3]****|----------------------------------------(1) ReStart NETWORK Service(2) Configure NETWORK Service(0) BackEOF read -p "Please enter your Choice[0-3]: " input3 case $input3 in 1) echo -e "\n>>>>>>>>>>>$DATE ReStart Network">>/log.txt /etc/init.d/network restart 2>>/log.txt if [ $? == 0 ];then echo "Restart Network.....................................................[OK]" else echo "Restart Network.....................................................[FAILED]" fi sleep 5 clear ;; 2) clear setup clear ;; 0) clear break ;; *) echo "----------------------------------" echo "| Warning!!! |" echo "| Please Enter Right Choice! |" echo "----------------------------------" for i in `seq -w 10 -1 1` do echo -ne "\b\b$i"; sleep 1; done clear ;; esac done;;4)clearwhile [ "$flag" -eq 0 ]docat << EOF----------------------------------------|****Please Enter Your Choice:[0-3]****|----------------------------------------(1) Change ROOT Passwd(2) Change Samba Passwd(0) BackEOF read -p "Please enter your Choice[0-3]: " input5 case $input5 in 1) echo -e "\n>>>>>>>>>>>$DATE Change System Administertor Root Passwd\n">>/log.txt passwd root 2>>/log.txt if [ $? == 0 ];then echo "Change ROOT Passwd.....................................................[OK]" else echo "Change ROOT Passwd.....................................................[FAILED]" fi sleep 5 clear ;; 2) echo -e "\n>>>>>>>>>>>$DATE Change Samba Passwd">>/log.txt smbpasswd -a tdoa 2>>/log.txt if [ $? == 0 ];then echo "Change Samba Passwd.....................................................[OK]" else echo "Change Samba Passwd.....................................................[FAILED]" fi sleep 5 clear ;; 0) clear break ;; *) echo "----------------------------------" echo "| Warning!!! |" echo "| Please Enter Right Choice! |" echo "----------------------------------" sleep 8 clear ;;esacdone;;5)clearecho "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"echo "|"less /log.txtecho "|"echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";;0)clearexit 0;;*) echo "----------------------------------" echo "| Warning!!! |" echo "| Please Enter Right Choice! |" echo "----------------------------------" for i in `seq -w 10 -1 1` do echo -ne "\b\b$i"; sleep 1; done clear;;esacdone
以上就是安装系统的全部内容,有需要的用户可以根据这些步骤进行操作,希望对大家有所帮助。
相关教程
2024-06-04
2024-04-07
2024-05-10
2024-06-03
2024-08-03
2024-09-23
2024-02-17
2024-02-15
2024-07-23
2024-07-20
2024-12-19
2024-11-22
2024-11-21
2024-11-20
2024-11-17
2024-11-16
copyright © 2012-2024 W7系统下载之家 m.w7xitong.com 版权声明