source: trunk/init.d @ 86

Last change on this file since 86 was 77, checked in by bas, 12 years ago

fixed some errors in init.d script

  • Property svn:keywords set to Id URL
File size: 4.5 KB
Line 
1#!/bin/sh
2#set -x
3#
4# Start stop script for TORQUE
5#
6# Authors : Bas van der Vlies & Jaap Dijkshoorn
7#           Kilian Cavalotti
8#
9# SVN INFO:
10#       $Id: init.d 77 2012-10-02 12:04:31Z bas $
11#               $URL: trunk/init.d $
12#
13### BEGIN INIT INFO
14# Provides:          torque
15# Required-Start:    $remote_fs $network
16# Required-Stop:     $remote_fs $network
17# Default-Start:     2 3 4 5
18# Default-Stop:      0 1 6
19# Short-Description: Start daemon at boot time
20# Description:       pbs_mon, pbs_sched and pbs_server
21### END INIT INFO
22#
23DESC="TORQUE servers"
24TORQUE_DIR=/usr/sbin
25DEFAULT=/etc/default/torque
26SPOOLDIR=/var/spool/torque
27
28# Some useful defaults can be overriden in the DEFAULT file
29#
30PBS_MOM_RESTART_OPTS='-p'
31PBS_MOM_OPTS=''
32PBS_SCHED_OPTS=''
33PBS_SERVER_OPTS='-a t'
34PBS_TRQAUTH_OPTS=""
35
36if [ ! -f $DEFAULT ]
37then
38        echo "No file [$DEFAULT]"
39        exit 0
40fi
41. $DEFAULT
42
43## Start functions
44start_server() {
45        start-stop-daemon --start --quiet --exec $TORQUE_DIR/pbs_server -- $PBS_SERVER_OPTS
46        echo "start pbs server"
47}
48
49start_sched() {
50        start-stop-daemon --start --quiet --exec $TORQUE_DIR/pbs_sched -- $PBS_SCHED_OPTS
51        echo "start pbs sched"
52}
53
54start_mom() {
55        start-stop-daemon --start --quiet --exec $TORQUE_DIR/pbs_mom -- $PBS_MOM_OPTS
56        echo "start pbs mom"
57}
58
59start_trqauth() {
60        start-stop-daemon --start --quiet --background --exec $TORQUE_DIR/trqauthd -- $PBS_TRQAUTH_OPTS
61        echo "start pbs trqauth"
62}
63
64start_daemons() {
65    check_perms
66
67    ## Always start trqauth daemon
68    #
69    start_trqauth
70
71    if [ "$PBS_SERVER" = "1" ] 
72    then
73        start_server
74    fi
75       
76    if [ "$PBS_SCHED" = "1" ]
77    then
78        start_sched
79    fi
80       
81   if [ "$PBS_MOM" = "1" ]
82   then
83        start_mom
84   fi
85}
86
87## Stop functions
88
89stop_server() {
90        start-stop-daemon --retry 5 --stop --quiet --exec $TORQUE_DIR/pbs_server
91        echo " stop pbs server"
92        echo " waiting for server to shutdown"
93        sleep 5
94}
95
96stop_sched() {
97        start-stop-daemon --retry 5 --stop --quiet --exec $TORQUE_DIR/pbs_sched
98        echo "stop pbs sched"
99}
100
101stop_mom() {
102        start-stop-daemon --retry 5 --stop --quiet --exec $TORQUE_DIR/pbs_mom
103        echo "stop pbs mom"
104}
105
106stop_trqauth() {
107        start-stop-daemon --retry 5 --stop --quiet --exec $TORQUE_DIR/trqauthd
108        echo "stop pbs trqauth"
109}
110
111stop_daemons() {
112        if [ "$PBS_SERVER" = "1" ]
113        then
114                stop_server
115        fi
116       
117        if [ "$PBS_SCHED" = "1" ]
118        then
119                stop_sched
120        fi
121       
122        if [ "$PBS_MOM" = "1" ]
123        then
124                stop_mom
125        fi
126
127        stop_trqauth
128}
129
130## Check permissions and directories
131check_perms() {
132
133    check_dir() {
134        if [ ! -d "$1" ]; then
135            mkdir -m 1777 "$1"
136        else
137            chmod 1777 "$1"
138        fi
139    }
140
141    check_dir $SPOOLDIR/spool
142    check_dir $SPOOLDIR/undelivered
143}
144
145
146## Main
147case "$1" in
148        start)
149                echo "Starting $DESC: "
150                start_daemons
151        ;;
152
153        stop)
154                echo "Stopping $DESC: "
155                stop_daemons
156        ;;
157
158        restart)
159                echo "Restarting $DESC: "
160                stop_daemons
161                sleep 1
162                PBS_MOM_OPTS="$PBS_MOM_RESTART_OPTS"
163                start_daemons
164        ;;
165
166        stop-mom)
167                echo "Stopping pbs_mom: "
168                stop_mom
169        ;;
170
171        stop-sched)
172                echo "Stopping pbs_sched: "
173                stop_sched
174        ;;
175
176        stop-server)
177                echo "Stopping pbs_mom: "
178                stop_server
179        ;;
180
181        stop-trqauth)
182                echo "Stopping pbs trqauthr: "
183                stop_trqauth
184        ;;
185
186        restart-mom)
187                echo "Restarting pbs_mom: "
188                stop_mom
189                sleep 1 
190                PBS_MOM_OPTS="$PBS_MOM_RESTART_OPTS"
191                start_mom
192        ;;
193
194        restart-sched)
195                echo "Restarting pbs_sched: " 
196                stop_sched
197                sleep 1
198                start_sched
199        ;;
200
201
202        restart-server)
203                echo "Restarting pbs_server: "
204                stop_server
205                sleep 1
206                start_server
207        ;;
208
209        restart-trqauth)
210                echo "Restarting pbs trqauthr: "
211                stop_trqauth
212                sleep 1
213                start_trqauth
214        ;;
215
216        *)
217                echo "Usage: $0 restart|start|stop|restart-<mom|server|sched|trqauth>|stop_<mom|server|sched|trqauth>"
218                exit 1
219        ;;
220esac
221
222exit 0
Note: See TracBrowser for help on using the repository browser.