-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcompress.sh
More file actions
executable file
·72 lines (60 loc) · 1.81 KB
/
compress.sh
File metadata and controls
executable file
·72 lines (60 loc) · 1.81 KB
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
67
68
69
70
71
72
#!/usr/bin/env bash
OLDIFS=$IFS
IFS=$'\n'
# Prüfen, ob find und pgrep installiert sind
if [ "$(which find)" == "" ]; then
echo "find ist nicht installier!"
exit 1
fi
if [ "$(which pgrep)" == "" ]; then
echo "find ist nicht installier!"
exit 1
fi
# Variablen für die Profil-Verzeichnisse
FFDIR="${HOME}/.mozilla/firefox"
TBDIR="${HOME}/.thunderbird"
# Prüfung, ob Firefox oder Thunderbird noch ausgeführt werden
echo "Prüfe, ob Firefox oder Thunderbird noch ausgeführt werden"
FFRUNNING=$(find "$FFDIR" -name lock)
TBRUNNING=$(find "$TBDIR" -name lock)
FFCOUNT=$(pgrep firefox | wc -l)
TBCOUNT=$(pgrep thunderbird | wc -l)
# Funktion, um zu prüfen, ob das Programm noch ausgeführt wird
function check_running() {
if [ -n "$1" ]; then
if [ "$4" -eq 0 ]; then
rm -f "$1"
else
echo -e "\n${2} wird noch ausgeführt!\nBitte beenden Sie ${2}, bevor Sie die"
echo -e "Datenbanken komprimieren!\n"
exit "$3"
fi
elif [ "$4" -gt 1 ]; then
echo -e "\n${2} wird noch ausgeführt!\nBitte beenden Sie ${2}, bevor Sie die"
echo -e "Datenbanken komprimieren!\n"
exit "$3"
fi
}
# Funktion zum Komprimieren der Datenbanken
function shrink_dbs() {
echo -e "\nKomprimiere ${1}-Datenbanken"
FILES=$(find "${2}" -name "*sqlite" -o -name "*.db")
for db in $FILES; do
echo -e "komprimiere $db"
echo "VACUUM;" | sqlite3 "$db"
done
echo -e "${1}-Datenbanken komprimiert\n"
}
# prüfen, ob FF und TB noch laufen
check_running "$FFRUNNING" "Firefox" -110 "$FFCOUNT"
check_running "$TBRUNNING" "Thunderbird" -210 "$TBCOUNT"
# Datenbanken komprimieren
shrink_dbs "Firefox" "$FFDIR"
shrink_dbs "Thunderbird" "$TBDIR"
zenity=$(which zenity)
if [ "$zenity" == "" ]; then
$zenity --info --text="Komprimierung abgeschlossen"
else
echo "Komprimierung abgeschlossen"
fi
IFS=$OLDIFS