-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.sh
66 lines (58 loc) · 1.63 KB
/
script.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/bash
#
# membox Progetto del corso di LSO 2017/2018
#
# Dipartimento di Informatica Università di Pisa
# Docenti: Prencipe, Torquati
#
# Studente: Jacopo Massa
# Matricola: 543870
#
# Si dichiara che il contenuto di questo file è in ogni sua parte
# opera originale dell'autore
# Funzione che stampa su stderr il messaggio di usage
function usage
{
echo "Lo script va lanciato con il seguente comando:" 1>&2
echo "$0 [-help] conffile timeval\n" 1>&2
}
# Controllo se uno dei parametri è '-help', nel caso stampo il messaggio di usage
for p; do
if [ "$p" = "-help" ]; then
$(usage)
exit
fi
done
# Se lo script viene lanciato con un numero di argomenti non valido, stampo il messaggio di usage
if [ $# -ne 2 ]; then
$(usage)
exit
fi
# Controllo che il file di configurazione esista
# Inoltre se trovo all'interno l'opzione DirName, controllo che tale opzione sia valida
# (che indichi effettivamente una directory esistente)
if ! [ -f $1 ]; then
printf "$1 non esiste!\n"
exit
else
DIRNAME=$(grep -v '^#' $1 | grep DirName | cut -f 2 -d "=")
DIRNAME=$(echo $DIRNAME | tr -d ' ')
if [ ! -d $DIRNAME ]; then
printf "%s non è una directory o non esiste!\n" "$DIRNAME"
fi
fi
#Controllo che il timeval sia effettivamente un numero, e che sia >= 0
if ! [ $2 -eq $2 2> /dev/null ] || [ $2 -lt 0 ]; then
printf "%s non è un numero ammissibile!\n" $2
exit
else
TIMEVAL=$2
fi
RES=$(find $DIRNAME -mmin $((-$TIMEVAL)) ! -path $DIRNAME -exec tar -cvf chatty.tar {} + | xargs rm -vfd | wc -l)
printf "Archiviati e rimossi %s files\n" $RES
if [ $TIMEVAL -eq 0 ]; then
for f in "$DIRNAME"/*
do
echo $(basename $f)
done
fi