41 lines
1.5 KiB
Bash
Executable File
41 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
SCRIPT_NAME="$(basename "$0")"
|
|
|
|
export BORG_PASSCOMMAND="cat /srv/borg/.borg-passphrase"
|
|
|
|
BORG_REPOS="/var/backups/borg/"
|
|
cd $BORG_REPOS
|
|
ARCHIVE_COUNT=0
|
|
REPO_COUNT=0
|
|
echo "COMPUTER COUNT LAST Diff Original Compressed Dedup Duration"
|
|
for BORG_REPO in $(ls -d *.repo); do
|
|
if [ -d "$BORG_REPO" ]; then
|
|
#echo "== $BORG_REPO"
|
|
REPO_COUNT=$(( REPO_COUNT +1))
|
|
|
|
COMPUTER=$(printf "%-40s" ${BORG_REPO::-5})
|
|
LIST=$(borg list "$BORG_REPO")
|
|
COUNT=$(echo "$LIST" | wc -l)
|
|
LAST=$(echo "$LIST" | sort -h | tail -1 | awk '{ print $1}' )
|
|
SIZE_LINE=$(borg info "$BORG_REPO" | head -8 | tail -1)
|
|
ORIGINAL_SIZE=$(echo "$SIZE_LINE" | awk '{ print $3" "$4 }')
|
|
COMPRESSED_SIZE=$(echo "$SIZE_LINE" | awk '{ print $5" "$6 }')
|
|
DEDUP_SIZE=$(echo "$SIZE_LINE" | awk '{ print $7" "$8 }')
|
|
SIZES="${SIZE_LINE:13}"
|
|
INFOS=$(borg info "${BORG_REPO}::${LAST}")
|
|
DURATION=$(echo "$INFOS" | grep Duration)
|
|
DURATION=${DURATION:10}
|
|
DURATION=${DURATION/ minutes / min }
|
|
DURATION=${DURATION/ seconds/ s}
|
|
DIFF_SIZE=$(echo "$INFOS" | grep "This archive" | awk '{ print $7" "$8}')
|
|
printf "%-40s %2d %s %12s %12s %12s %12s %s\n" "$COMPUTER" "$COUNT" "$LAST" "$DIFF_SIZE" "$ORIGINAL_SIZE" "$COMPRESSED_SIZE" "$DEDUP_SIZE" "$DURATION"
|
|
|
|
ARCHIVE_COUNT=$((ARCHIVE_COUNT+COUNT))
|
|
fi
|
|
done
|
|
echo "Total repository count: "$REPO_COUNT
|
|
echo "Total archive count: "$ARCHIVE_COUNT
|
|
echo "Total disk size: "$(du -sh .)
|
|
df -h /var/backups/borg/.
|