From 6cf818e948e5f4cba645251db6da4ebdc93885e4 Mon Sep 17 00:00:00 2001 From: Jacob McDonnell Date: Sun, 18 Jan 2026 15:32:00 -0500 Subject: Gentoo Specific Stuff --- scripts/dump-tool | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 scripts/dump-tool (limited to 'scripts') diff --git a/scripts/dump-tool b/scripts/dump-tool new file mode 100755 index 0000000..249b17a --- /dev/null +++ b/scripts/dump-tool @@ -0,0 +1,49 @@ +#!/bin/bash + +LEVEL='0' +PROG_NAME="$(basename $0)" +XFSDUMP='/usr/bin/xfsdump' +DESTINATION="/backup" +SESSION_LABEL="weekly" +MEDIA_LABEL="root-fs" +FILESYSTEM="/" + +usage() { + printf "Usage: %s (--weekly | --daily | --hourly) [--file-system=fs] [--help]\n" $PROG_NAME > /dev/stderr +} + +while [[ $# -gt 0 ]]; do + case $1 in + --weekly) + LEVEL='0' + SESSION_LABEL="weekly" + ;; + --daily) + LEVEL='1' + SESSION_LABEL="daily" + ;; + --hourly) + LEVEL='2' + SESSION_LABEL="hourly" + ;; + --file-system=*) + FILESYSTEM=$(echo $1 | sed "s|--file-system=||g") + ;; + --help) + usage + exit 1 + ;; + *) + printf "Error: Unknown flag '%s'\n" $1 > /dev/stderr + usage + exit 1 + ;; + esac + + shift +done + +DESTINATION="$DESTINATION/backup-$(date +'%Y-%m-%d').$LEVEL.dump" + +$XFSDUMP -l $LEVEL -L $SESSION_LABEL -M $MEDIA_LABEL -f $DESTINATION $FILESYSTEM + -- cgit v1.2.3