f37 -> f39
[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 # this script is obsolete
7 # as it is still mentioned in our build boxes crontabs we keep it alive for now
8
9 exit 0
10
11 exec >> /root/.nightly-clean-trash.log
12 exec 2>&1
13
14 date
15
16 [[ -n "$@" ]] && [ "$1" = "-n" ] && set -x
17
18 todelete=$(find /build/trash -maxdepth 1 -mtime +1 -print | grep -v 'trash/*$')
19 potential_vservers=$(find /build/trash -maxdepth 1 -type d -print 2> /dev/null | grep -v 'trash/*$')
20
21 # clean the vservers first
22 [ -d /vservers ] && for vserver in $potential_vservers ; do
23     vname=$(basename $vserver)
24     vname=$(basename $vname .log.txt)
25     vname=$(basename $vname .timestamp)
26     if [ -d /vservers/$vname ] ; then
27         virsh -c lxc:/// destroy $vname >$ /dev/null && echo $vname destroyed
28         virsh -c lxc:/// undefine $vname >$ /dev/null && echo $vname undefined
29         rm -f /vservers/${vname}.log.txt
30         rm -f /vservers/${vname}.timestamp
31     fi
32 done
33
34 echo $todelete | xargs rm -rf
35
36 daily_vnames=$(find /vservers/ -maxdepth 1 -type d -name '20*'  -mtime +14 -print 2> /dev/null | sed -e 's,^/vservers/,,')
37 for vname in $daily_vnames; do
38    [ -f /vservers/${vname}.log.txt ] && rm  /vservers/${vname}.log.txt
39    [ -d /vservers/$vname ] && vserver --silent $vname delete
40 done
41