--- /dev/null
+#!/bin/env bash
+#
+# vrename is used to rename an existing vserver guest A to B.
+#
+#
+# Marc E. Fiuczynski <mef@cs.princeton.edu>
+# Copyright (C) 2007 The Trustees of Princeton University
+#
+# $Id:$
+#
+
+oname=$1
+nname=$2
+
+if [ -d "/etc/vservers/${nname}" ] ; then
+ echo "WARNING: vserver ${nname} already exists. Aborting..."
+ exit -1
+fi
+if [ ! -d "/etc/vservers/${oname}" ] ; then
+ echo "WARNING: vserver ${oname} does not exists. Aborting..."
+ exit -1
+fi
+
+[ -f /var/run/vservers/${oname} ] && vserver $oname stop
+
+dlist="/vservers /etc/vservers /etc/vservers/.defaults/cachebase /var/run/vservers /etc/vservers/.defaults/vdirbase"
+
+for dir in $dlist; do
+ if [ -d "${dir}/${oname}" ] ; then
+ mv ${dir}/${oname} ${dir}/${nname}
+ fi
+done
+
+# create new symlinks
+ln -nsf /etc/vservers/.defaults/cachebase/${nname} /etc/vservers/${nname}/cache
+ln -nsf /etc/vservers/.defaults/vdirbase/${nname} /etc/vservers/${nname}/vdir
+ln -nsf /var/run/vservers/${nname} /etc/vservers/${nname}/run
+
+exit 0