diff options
author | EuAndreh <eu@euandre.org> | 2024-08-20 15:35:42 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-08-20 15:35:42 -0300 |
commit | 3ae145fc3b1dab0df0fe745083b4d38c125b6f10 (patch) | |
tree | 1fa54300287465940532f5735229d8d04419a3ab | |
parent | src/reconfigure: Use /etc/guix/system.scm over src/guix/system.scm (diff) | |
download | syskeep-3ae145fc3b1dab0df0fe745083b4d38c125b6f10.tar.gz syskeep-3ae145fc3b1dab0df0fe745083b4d38c125b6f10.tar.xz |
src/gc: Simplify code
-rwxr-xr-x | src/gc | 93 |
1 files changed, 9 insertions, 84 deletions
@@ -3,116 +3,41 @@ set -eu usage() { cat <<-'EOF' - Usage: - gc [TYPE] - gc -h + Usage: gc [ guix | deploy | trash | tmpdir | logs ] EOF } -help() { - cat <<-'EOF' - - - Options: - -h, --help show this message - - TYPE what to do GC on (default: all): - - guix - - deploy - - trash - - tmpdir - - logs - - - GC the server, deleting old, unusable data, in order to free - disk space system-wide. - - - Examples: - - Just run it, for all: - - $ gc - - - Cleanup tmpdir: - - $ gc tmpdir - EOF -} - - -for flag in "$@"; do - case "$flag" in - --) - break - ;; - --help) - usage - help - exit - ;; - *) - ;; - esac -done - -while getopts 'h' flag; do - case "$flag" in - h) - usage - help - exit - ;; - *) - usage >&2 - exit 2 - ;; - esac -done -shift $((OPTIND - 1)) - - -if [ "$(id -un)" != 'root' ]; then - printf 'This script must be run as root.\n\n' >&2 - usage >&2 - exit 2 -fi disk() { df -h / /mnt/backup/ | tail -n +2 | - awk '{ printf "%s\t%s/%s\t%s\n", $4, $3, $2, $6 }' -} - -today() { - date '+%Y-%m-%d' + awk '{ printf "%s\t%s/%s\t%s\n", $4, $3, $2, $6 }' ||: } gc_guix() { - sudo -i guix system delete-generations 1m - sudo -i guix gc -d 1m + guix system delete-generations 1m ||: + guix gc -d 1m } gc_deploy() { find /opt/deploy \ ! -path /opt/deploy -prune \ -type d \ - -not -name "$(today)*" \ - -exec rm -rvf "{}" ';' + -not -name "$(timestamp)*" \ + -exec rm -rvf "{}" ';' ||: } gc_trash() { - yes | sudo -i trash-empty + yes | trash-empty } gc_tmpdir() { - find "${TMPDIR:-/tmp}" -atime +10 -exec rm -vf "{}" ';' + find "${TMPDIR:-/tmp}" -atime +10 -exec rm -vf "{}" ';' ||: } gc_logs() { - find /var/log/ci/ -atime +10 -exec rm -vf "{}" ';' + find /var/log/ci/ -atime +10 -exec rm -vf "{}" ';' ||: } |