blob: 74dab667f0a3b9d5e4d0450b1838c1dfca5626db (
plain) (
blame)
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
73
74
75
76
|
#!/bin/sh
set -eu
usage() {
cat <<-'EOF'
Usage: gc [ guix | deploy | trash | tmpdir | logs | coredump ]
EOF
}
disk() {
df -h / /mnt/backup/ |
tail -n +2 |
awk '{ printf "%s\t%s/%s\t%s\n", $4, $3, $2, $6 }' ||:
}
gc_guix() {
guix system delete-generations 1m ||:
guix gc -d 1m
}
gc_deploy() {
find /opt/deploy \
! -path /opt/deploy -prune \
-type d \
-not -name "$(timestamp)*" \
-exec rm -rvf "{}" ';' ||:
}
gc_trash() {
yes | trash-empty
}
gc_tmpdir() {
find "${TMPDIR:-/tmp}" -atime +10 -exec rm -vf "{}" ';' ||:
}
gc_logs() {
find /var/log/ci/ -atime +10 -exec rm -vf "{}" ';' ||:
}
gc_coredump() {
find /var/crash/ -type f -atime +10 -exec rm -vf "{}" ';' ||:
}
gc_all() {
gc_guix
gc_deploy
gc_trash
gc_tmpdir
gc_logs
gc_coredump
}
TYPE="${1:-all}"
CMD=gc_"$TYPE"
if ! command -v "$CMD" >/dev/null; then
printf 'Invalid TYPE: "%s".\n\n' "$TYPE" >&2
usage >&2
exit 2
fi
BEFORE="$(disk)"
set -x
"$CMD"
set +x
AFTER="$(disk)"
cat <<-EOF
Disk space:
before: $BEFORE
after: $AFTER
EOF
|