* enumerated all used m4-files
[util-vserver.git] / util-vserver / sysv / vservers.subst
1 #!/bin/sh
2 # chkconfig: 345 98 10
3 # description: The vservers service is used to start and stop all
4 #              the virtual servers.
5
6 USR_SBIN=/usr/sbin
7
8
9 # Print the vserver name in priority/alpha order
10 sortserver(){
11         (
12         cd /etc/vservers
13         for serv in *.conf
14         do
15                 PRIORITY=100
16                 . $serv
17                 printf "%03d %s\n" $PRIORITY `basename $serv .conf`
18         done
19         ) | sort $* | (while read a b; do echo $b; done)
20 }
21
22 startservers(){
23         echo "Starting the virtual servers"
24         cd /etc/vservers
25         for name in `sortserver`
26         do
27                 ONBOOT=
28                 . $name.conf
29                 if [ "$ONBOOT" = "yes" ] ; then
30                         $USR_SBIN/vserver $name start
31                 else
32                         echo virtual server $name not configured for on boot start
33                 fi
34         done
35 }
36
37 BACKGROUND=off
38 if [ -f /etc/vservers.conf ] ; then
39         . /etc/vservers.conf
40 fi
41
42
43 # See how we were called.
44 case "$1" in
45   start)
46         if [ "$BACKGROUND" = "yes" ] ; then
47                 startservers >/dev/tty8 </dev/tty8 2>/dev/tty8 &
48         else
49                 startservers
50         fi
51         touch /var/lock/subsys/vservers
52         ;;
53   stop)
54         echo "Stopping the virtual servers"
55         cd /etc/vservers
56         for name in `sortserver -r`
57         do
58                 $USR_SBIN/vserver $name stop
59         done
60         rm -f /var/lock/subsys/vservers
61         ;;
62   restart)
63         $0 stop
64         $0 start
65         ;;
66   reload)
67         echo Not implemented
68         ;;
69   status)
70         cd /etc/vservers
71         for serv in *.conf
72         do
73                 ONBOOT=no
74                 name=`basename $serv .conf`
75                 . $serv
76                 echo -n ONBOOT=$ONBOOT " "
77                 $USR_SBIN/vserver $name running
78         done
79         ;;
80   *)
81         echo "Usage: vservers {start|stop|restart|reload|status}"
82         exit 1
83 esac
84
85 exit 0
86
87
88
89