ready for tagging
[util-vserver.git] / scripts / vrename
1 #!/bin/env bash
2 #
3 # vrename is used to rename an existing vserver guest A to B.
4
5 #
6 # Marc E. Fiuczynski <mef@cs.princeton.edu>
7 # Copyright (C) 2007 The Trustees of Princeton University
8 #
9 # $Id:$
10 #
11
12 oname=$1
13 nname=$2
14
15 if [ -d "/etc/vservers/${nname}" ] ; then
16         echo "WARNING: vserver ${nname} already exists.  Aborting..."
17         exit -1
18 fi
19 if [ ! -d "/etc/vservers/${oname}" ] ; then
20         echo "WARNING: vserver ${oname} does not exists.  Aborting..."
21         exit -1
22 fi
23
24 [ -f /var/run/vservers/${oname} ] && vserver $oname stop
25
26 dlist="/vservers /etc/vservers /etc/vservers/.defaults/cachebase /var/run/vservers /etc/vservers/.defaults/vdirbase"
27
28 for dir in $dlist; do
29     if [ -d "${dir}/${oname}" ] ; then
30         mv ${dir}/${oname} ${dir}/${nname}
31     fi
32 done
33
34 # create new symlinks
35 ln -nsf /etc/vservers/.defaults/cachebase/${nname} /etc/vservers/${nname}/cache 
36 ln -nsf /etc/vservers/.defaults/vdirbase/${nname} /etc/vservers/${nname}/vdir  
37 ln -nsf /var/run/vservers/${nname} /etc/vservers/${nname}/run   
38
39 exit 0