X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fnightly-clean-trash.sh;h=026d0190d0ad223dc87db9f980b0913eba460b04;hb=e2841d96f261faf17f028782bda068cbeac75570;hp=288aac0729289e555be2dc3b789343069942f800;hpb=17f87e2be0986b02bd81758d9e1c35b7efe25f6c;p=infrastructure.git diff --git a/scripts/nightly-clean-trash.sh b/scripts/nightly-clean-trash.sh index 288aac0..026d019 100755 --- a/scripts/nightly-clean-trash.sh +++ b/scripts/nightly-clean-trash.sh @@ -3,18 +3,33 @@ # -mtime +1 : older than one day # grep -v : preserve the top directory +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 | grep -v 'trash/*$') +potential_vservers=$(find /build/trash -maxdepth 1 -type d -print 2> /dev/null | grep -v 'trash/*$') # clean the vservers first -for vserver in $potential_vservers ; do +[ -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 +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 +