#!/bin/bash
-find /build/trash -maxdepth 1 -a -mtime 1 -print | xargs rm -rf
+# -maxdepth 1 : scans dir and immediate sons
+# -mtime +1 : older than one day
+# grep -v : preserve the top directory
+
+[[ -n "$@" ]] && [ "$1" = "-n" ] && set -x
+
+todelete=$(find /build/trash -maxdepth 1 -mtime +1 -print | grep -v 'trash/*$')
+potential_vservers=$(find /build/trash -maxdepth 1 -type d -print | grep -v 'trash/*$')
+
+# clean the vservers first
+for vserver in $potential_vservers ; do
+ vname=$(basename $vserver)
+ vname=$(basename $vname .log.txt)
+ if [ -d /vservers/$vname ] ; then
+ vserver --silent $vname delete
+ rm -f /vservers/${vname}.log.txt
+ fi
+done &> /dev/null
+
+echo $todelete | xargs rm -rf
+
+daily_vnames=$(find /vservers/ -maxdepth 1 -type d -name '20*' -mtime +7 -print | sed -e 's,^/vservers/,,')
+for vname in $daily_vnames; do
+ [ -f /vservers/${vname}.log.txt ] && rm /vservers/${vname}.log.txt
+ [ -d /vservers/$vname ] && vserver --silent $vname delete
+done
+