X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fnightly-clean-trash.sh;h=026d0190d0ad223dc87db9f980b0913eba460b04;hb=81b0fe3c0198f770c6ae3eef5ced59fa27cee879;hp=c740b4fda22b1696a0a24f4a522e79b7de862da4;hpb=ba1cde7827e30785248610b0fdf9d58d8b6fccf3;p=infrastructure.git diff --git a/scripts/nightly-clean-trash.sh b/scripts/nightly-clean-trash.sh index c740b4f..026d019 100755 --- a/scripts/nightly-clean-trash.sh +++ b/scripts/nightly-clean-trash.sh @@ -2,4 +2,34 @@ # -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 + +exec >> /root/.nightly-clean-trash.log +exec 2>&1 + +date + +[[ -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 2> /dev/null | grep -v 'trash/*$') + +# clean the vservers first +[ -d /vservers ] && for vserver in $potential_vservers ; do + vname=$(basename $vserver) + vname=$(basename $vname .log.txt) + vname=$(basename $vname .timestamp) + if [ -d /vservers/$vname ] ; then + vserver --silent $vname delete + rm -f /vservers/${vname}.log.txt + rm -f /vservers/${vname}.timestamp + fi +done &> /dev/null + +echo $todelete | xargs rm -rf + +daily_vnames=$(find /vservers/ -maxdepth 1 -type d -name '20*' -mtime +14 -print 2> /dev/null | 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 +