2 # -maxdepth 1 : scans dir and immediate sons
3 # -mtime +1 : older than one day
4 # grep -v : preserve the top directory
6 exec >> /root/.nightly-clean-trash.log
11 [[ -n "$@" ]] && [ "$1" = "-n" ] && set -x
13 todelete=$(find /build/trash -maxdepth 1 -mtime +1 -print | grep -v 'trash/*$')
14 potential_vservers=$(find /build/trash -maxdepth 1 -type d -print 2> /dev/null | grep -v 'trash/*$')
16 # clean the vservers first
17 [ -d /vservers ] && for vserver in $potential_vservers ; do
18 vname=$(basename $vserver)
19 vname=$(basename $vname .log.txt)
20 vname=$(basename $vname .timestamp)
21 if [ -d /vservers/$vname ] ; then
22 vserver --silent $vname delete
23 rm -f /vservers/${vname}.log.txt
24 rm -f /vservers/${vname}.timestamp
28 echo $todelete | xargs rm -rf
30 daily_vnames=$(find /vservers/ -maxdepth 1 -type d -name '20*' -mtime +14 -print 2> /dev/null | sed -e 's,^/vservers/,,')
31 for vname in $daily_vnames; do
32 [ -f /vservers/${vname}.log.txt ] && rm /vservers/${vname}.log.txt
33 [ -d /vservers/$vname ] && vserver --silent $vname delete