logmanager/logcleaner

37 lines
625 B
Text
Raw Normal View History

2011-02-23 15:39:35 +01:00
#!/bin/sh
a=60
n=
help() {
cat <<EOF
Usage: `basename "$0"` -h | [-i|-n] [-a AGE] DIR [DIR [...]]
Findet alle Dateien in DIR/archive, die zu alt sind und loescht sie.
-a Alter der Datei in Tagen (std: $a)
-i Fragt vorher nach (siehe rm)
-n Trockenlauf
EOF
exit
}
while getopts hina: o
2011-02-23 15:39:35 +01:00
do
case "$o" in
-) break ;;
h) help ;;
a) a="$OPTARG" ; shift ;;
i) i=-i ;;
n) n=echo ;;
2011-02-23 15:39:35 +01:00
esac
done
shift `expr $OPTIND - 1`
2011-02-23 15:39:35 +01:00
[ 0 -lt $# ] || help
[ X = X"$a" ] || a="-mtime +$a"
for d
do
find "$d" -name archive -type d -exec sh -c '
find "$1" -type f '"$a"' -exec '"$n"' rm '"$i"' -- "{}" \;' -- '{}' \;
done