ready for tagging
[util-vserver.git] / scripts / vservers.grabinfo.sh
1 #!/bin/sh
2 # Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
3 # based on vservers.grabinfo.sh by Jacques Gelinas
4 #  
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2, or (at your option)
8 # any later version.
9 #  
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14 #  
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 # Produce some XML statistics about vservers
20
21 : ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars}
22 test -e "$UTIL_VSERVER_VARS" || {
23     echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
24     exit 1
25 }
26 . "$UTIL_VSERVER_VARS"
27
28 cd $__DEFAULT_VSERVERDIR
29 for vserv in *
30 do
31         if [ -f /etc/vservers/$vserv.conf ] ; then
32                 . /etc/vservers/$vserv.conf
33                 echo "<m:vserver name=\"$vserv\" onboot=\"$ONBOOT\" HOSTNAME=\"$S_HOSTNAME\">"
34                 for ip in $IPROOT
35                 do
36                         case $ip in
37                         *:*)
38                                 echo $ip | tr ':' ' ' | (read a b; echo "  <m:ip num=\"$b\"/>")
39                                 ;;
40                         *)
41                                 echo "  <m:ip num=\"$ip\"/>"
42                                 ;;
43                         esac
44                 done
45                 echo "  <status>"
46                 $_VSERVER $vserv status
47                 echo "  </status>"
48                 echo "</m:vserver>"
49         fi
50 done
51