source: trunk/init.d @ 21

Last change on this file since 21 was 21, checked in by adi, 16 years ago

check spooldir permissions on startup

  • Property svn:keywords set to Id URL
File size: 2.8 KB
Line 
1#!/bin/sh
2#
3# Start stop script for TORQUE
4#
5# Authors : Bas van der Vlies & Jaap Dijkshoorn
6#           Kilian Cavalotti
7#
8# SVN INFO:
9#       $Id: init.d 21 2007-11-07 12:43:44Z adi $
10#               $URL: trunk/init.d $
11#
12#set -x
13DESC="TORQUE servers"
14TORQUE_DIR=/usr/sbin
15DEFAULT=/etc/default/torque
16SPOOLDIR=/var/spool/torque
17
18# Some useful defaults can be overriden in the DEFAULT file
19#
20PBS_MOM_OPTS='-p'
21PBS_SCHED_OPTS=''
22PBS_SERVER_OPTS='-a t'
23
24if [ ! -f $DEFAULT ]
25then
26        echo "No file [$DEFAULT]"
27        exit 0
28fi
29. $DEFAULT
30
31## Start functions
32start_server() {
33        start-stop-daemon --start --quiet --exec $TORQUE_DIR/pbs_server -- $PBS_SERVER_OPTS
34        echo " pbs server"
35}
36
37start_sched() {
38        start-stop-daemon --start --quiet --exec $TORQUE_DIR/pbs_sched -- $PBS_SCHED_OPTS
39        echo " pbs sched"
40}
41
42start_mom() {
43        start-stop-daemon --start --quiet --exec $TORQUE_DIR/pbs_mom -- $PBS_MOM_OPTS
44        echo " pbs mom"
45}
46
47start_daemons() {
48    check_perms
49
50        if [ "$PBS_SERVER" = "1" ]
51        then
52                start_server
53        fi
54
55        if [ "$PBS_SCHED" = "1" ]
56        then
57                start_sched
58        fi
59
60        if [ "$PBS_MOM" = "1" ]
61        then
62                start_mom
63        fi
64}
65
66## Stop functions
67
68stop_server() {
69        start-stop-daemon --retry 5 --stop --quiet --exec $TORQUE_DIR/pbs_server
70        echo " pbs server"
71        echo " waiting for server to shutdown"
72        sleep 5
73}
74
75stop_sched() {
76        start-stop-daemon --retry 5 --stop --quiet --exec $TORQUE_DIR/pbs_sched
77        echo " pbs sched"
78}
79
80stop_mom() {
81        start-stop-daemon --retry 5 --stop --quiet --exec $TORQUE_DIR/pbs_mom
82        echo " pbs mom"
83}
84
85stop_daemons() {
86        if [ "$PBS_SERVER" = "1" ]
87        then
88                stop_server
89        fi
90
91        if [ "$PBS_SCHED" = "1" ]
92        then
93                stop_sched
94        fi
95
96        if [ "$PBS_MOM" = "1" ]
97        then
98                stop_mom
99        fi
100}
101
102
103## Check permissions and directories
104check_perms() {
105
106    check_dir() {
107        if [ ! -d "$1" ]; then
108            mkdir -m 1777 "$1"
109        else
110            chmod 1777 "$1"
111        fi
112    }
113
114    check_dir $SPOOLDIR/spool
115    check_dir $SPOOLDIR/undelivered
116}
117
118
119## Main
120case "$1" in
121        start)
122                echo "Starting $DESC: "
123                start_daemons
124        ;;
125
126        stop)
127                echo "Stopping $DESC: "
128                stop_daemons
129        ;;
130
131        restart)
132                echo "Restarting $DESC: "
133                stop_daemons
134                sleep 1
135                start_daemons
136        ;;
137
138        restart-mom)
139                echo "Restarting pbs_mom: "
140                                stop_mom
141                sleep 1
142                                start_mom
143        ;;
144
145        restart-sched)
146                echo "Restarting pbs_sched: "
147                                stop_sched
148                sleep 1
149                                start_sched
150        ;;
151
152
153        restart-server)
154                echo "Restarting pbs_server: "
155                                stop_server
156                sleep 1
157                                start_server
158        ;;
159
160        *)
161                echo "Usage: $0 {restart|start|stop|restart-mom|restart-server|restart-sched}\n" >&2
162                exit 1
163        ;;
164esac
165
166exit 0
Note: See TracBrowser for help on using the repository browser.