oops
[infrastructure.git] / scripts / nightly-clean-trash.sh
1 #!/bin/bash
2 # -maxdepth 1 : scans dir and immediate sons
3 # -mtime +1 : older than one day
4 # grep -v : preserve the top directory
5
6 [[ -n "$@" ]] && [ "$1" = "-n" ] && set -x
7
8 todelete=$(find /build/trash -maxdepth 1 -mtime +1 -print | grep -v 'trash/*$')
9 potential_vservers=$(find /build/trash -maxdepth +1 -type d -print | grep -v 'trash/*$')
10
11 # clean the vservers first
12 for vserver in $potential_vservers ; do
13     vname=$(basename $vserver)
14     vname=$(basename $vname .log.txt)
15     if [ -d /vservers/$vname ] ; then
16         vserver --silent $vname delete
17         rm -f /vservers/${vname}.log.txt
18     fi
19 done &> /dev/null
20
21 echo $todelete | xargs rm -rf
22
23 daily_vnames=$(find /vservers/ -maxdepth 1 -type d -name '20*'  -mtime +7 -print | sed -e 's,^/vservers/,,')
24 for vname in $daily_vnames; do
25    [ -f /vservers/${vname}.log.txt ] && rm  /vservers/${vname}.log.txt
26    [ -d /vservers/$vname ] && vserver --silent $vname delete
27 done
28