1. 程式人生 > >Ubuntu 16.04.05自定義啟動與停止指令碼

Ubuntu 16.04.05自定義啟動與停止指令碼

1、start.sh(啟動指令碼)

#!/bin/sh
echo "Service: \033[40G[\033[49;32;5mStart\033[0m]\n";
# 啟動Nginx
/usr/local/nginx/sbin/nginx
# 啟動Php-fpm
/usr/local/php/sbin/php-fpm
# 啟動mysql
/etc/init.d/mysql start
netstat -naptu | grep -E 'nginx|php-fpm|mysqld'
echo "Service: \033[40G[\033[49;32;5mDone\033[0m]\n";

這裡寫圖片描述

2、stop.sh(停止指令碼)


#!/bin/sh
Server_Name="nginx php-fpm mysql"
echo "Service: \033[40G[\033[49;32;5mStop\033[0m]\n";
# 停止Nginx
/usr/local/nginx/sbin/nginx -s stop
# 關閉Mysql
/etc/init.d/mysql stop
# 關閉PHP-FPM
ps -ef|grep php-fpm|awk -F ' ' '{print $2}'|xargs kill -9
# 顯示程序資訊
netstat -naptu
echo "Service: \033[40G[\033[49;32;5mDone\033[0m]\n"
;

這裡寫圖片描述

1、未對程序是否啟動做判斷
2、必須給指令碼賦許可權,如:chmod 777 start.sh
3、執行指令碼必須帶”/”,如:./start.sh

3、參考指令碼

停止服務時,判斷程序是否存在,然後kill

#!/bin/sh
USR_NAME=`whoami`
Server_Name="nginx php-fpm mysql"
printf "\n正在停止服務,請等待\n"
for i in $Server_Name
do
pid=`ps -e | grep $i |awk '{print $1}'`
if [ "$pid" != "" ]; then
kill -9 $pid sleep 3 fi done #./catalina.sh stop ps -ef|grep ${USR_NAME} | grep -v bash | grep -v sshd echo "Shutdown nginx php-fpm service done" echo "Shutdown web ok ."