Featured image of post Linux shell 函数应用示例02

Linux shell 函数应用示例02

服务控制脚本:安装编写控制的脚本服务启动服务服务使用:使用:演示:服务使用:服务服务启动。。。。。。。

nginx服务控制脚本:

安装ngix

1
2
3
4
5
6
[root@wei function]# yum install gcc pcre-devel openssl-devel

[root@wei function]# tar xf nginx-1.14.2.tar.gz 
[root@wei function]# cd nginx-1.14.2
[root@wei nginx-1.14.2]# ./configure --prefix=/usr/local/nginx
[root@wei nginx-1.14.2]# make && make instal

编写控制nginx的脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash
#

nginx_cmd=/usr/local/nginx/sbin/nginx
nginx_conf=/usr/local/nginx/conf/nginx.conf
nginx_pid_file=/usr/local/nginx/logs/nginx.pid
start(){
    $nginx_cmd
    if [ $? -eq 0 ];then
        echo "服务nginx启动.....[ok]"
    fi
}

stop(){
    $nginx_cmd -s stop
    

}

reload(){
    if $nginx_cmd -t &> /dev/null;then
        $nginx_cmd -s reload
    else
        $nginx_cmd -t
    fi

}

status(){
    if [ -e $nginx_pid_file  ];then
        echo "服务nginx(`cat $nginx_pid_file`) is running"
    else
        echo "服务nginx is stopped"
    fi
}


if [ -z $1 ];then
    echo "使用:$0{start|stop|restart|reload|status}"
    exit 9
fi

case $1 in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        sleep 2
        start
        ;;
    reload)
        reload
        ;;
    *)
        echo "使用:$0{start|stop|restart|reload|status}"
        exit 9
        ;;
esac

演示:

1
2
3
4
5
6
7
8
9
[root@wei init.d]# /etc/init.d/nginx status
服务nginx(4974) is running
[root@wei init.d]# /etc/init.d/nginx statscdsdc
使用:/etc/init.d/nginx{start|stop|restart|reload|status}
[root@wei init.d]# /etc/init.d/nginx stop
[root@wei init.d]# /etc/init.d/nginx status
服务nginx is stopped
[root@wei init.d]# /etc/init.d/nginx start
服务nginx启动.....[ok]
未来的你,会感谢今天仍在努力奋斗的你