From cf54baa5c46d3a380ff8a2d13a9221f73b8d9229 Mon Sep 17 00:00:00 2001 From: ChuckPa Date: Fri, 30 May 2025 23:19:34 -0400 Subject: [PATCH] v1.11.03 -Add summary logfile messages v1.11.03 1. Add DEFLATE command to provide fast database cleanup while Plex engineering fixes the root problems. 2. Handle Databases not on same storage as AppSuppDir 3. Calculate SpaceNeeded based on $DBDIR 4. Fix menu items 5. Fix reporting of SpaceNeeded when unable to process. 6. Add summary logging for DEFLATE actions in case disk full. --- DBRepair.sh | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/DBRepair.sh b/DBRepair.sh index 74d66a4..808f093 100755 --- a/DBRepair.sh +++ b/DBRepair.sh @@ -2,12 +2,12 @@ ######################################################################### # Database Repair Utility for Plex Media Server. # # Maintainer: ChuckPa # -# Version: v1.11.02 # -# Date: 30-May-2025 # +# Version: v1.11.03 # +# Date: 31-May-2025 # ######################################################################### # Version for display purposes -Version="v1.11.02" +Version="v1.11.03" # Have the databases passed integrity checks CheckedDB=0 @@ -1097,7 +1097,7 @@ DoRepair() { [ -e $CPPL.blobs.db ] && mv $CPPL.blobs.db "$TMPDIR/$CPPL.blobs.db-BACKUP-$TimeStamp" Output "Making repaired databases active" - WriteLog "Making repaired databases active" + WriteLog "Repair - Making repaired databases active" mv "$TMPDIR/$CPPL.db-REPAIR-$TimeStamp" $CPPL.db mv "$TMPDIR/$CPPL.blobs.db-REPAIR-$TimeStamp" $CPPL.blobs.db @@ -1773,13 +1773,21 @@ DoDeflate() { do Output "Removing - block $Count" Removed=$("$PLEX_SQLITE" "$CPPL.db" "$SQL" | tail -1) - TotalRemoved=$(($TotalRemoved + $Removed)) + TotalRemoved=$((TotalRemoved + Removed)) Count=$((Count+1)) done Output "Removed $TotalRemoved records." Output "Vacuuming DB to reclaim working space." "$PLEX_SQLITE" "$CPPL.db" "vacuum;" + Result=$? + + if [ $Result -ne 0 ]; then + Output "ERROR: Unable to shrink database size. Error $Result" + WriteLog "Deflate - ERROR. Unable to shrink database size. ERROR $Result" + WriteLog "Deflate - FAIL." + return 1 + fi # Check size Size=$(stat $STATFMT $STATBYTES $CPPL.db) @@ -1789,6 +1797,12 @@ DoDeflate() { # Turn journal mode back on Result="$("$PLEX_SQLITE" "$CPPL.db" "PRAGMA journal_mode = WAL;")" + # Now write abbreviated log entries + WriteLog "Deflate - Report." + WriteLog "Deflate - Initial Database size = $((InitialSize / 1000000)) MB" + WriteLog "Deflate - Final Database size = $((Size / 1000000)) MB" + WriteLog "Deflate - Records Removed = $TotalRemoved" + WriteLog "Deflate - PASS." }