# -maxdepth 1 : scans dir and immediate sons
# -mtime +1 : older than one day
# grep -v : preserve the top directory
-find /build/trash -maxdepth 1 -mtime +1 -print | grep -v 'trash/*$' | xargs rm -rf
+
+[[ -n "$@" ]] && [ "$1" = "-n" ] && set -x
+
+todelete=$(find /build/trash -maxdepth 1 -mtime +1 -print | grep -v 'trash/*$')
+potential_vservers=$(find /build/trash -maxdepth 1 -mtime +1 -type d -print | grep -v 'trash/*$')
+
+# clean the vservers first
+for vserver in $potential_vservers ; do
+ vname=$(dirname $vserver)
+ if [ -d /vservers/$vname ] ; then
+ vserver --silent delete $vname
+ rm -f /vservers/${vname}.log.txt
+ fi
+done
+
+echo $todelete | xargs rm -rf