mirror of
https://github.com/ChuckPa/PlexDBRepair.git
synced 2026-07-31 02:53:52 -05:00
Compare commits
10
Commits
v1.15.00
...
3a12c145f0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a12c145f0 | ||
|
|
82f5c3f87c | ||
|
|
2d0532dcd3 | ||
|
|
bbb03f0c75 | ||
|
|
32a949d797 | ||
|
|
1c4a63178b | ||
|
|
3fb3453621 | ||
|
|
93909ec504 | ||
|
|
b0aaf2b3e2 | ||
|
|
14d044a8f2 |
@@ -0,0 +1,2 @@
|
||||
# If DBRepair has helped you, you're welcome to make a one-time donation.
|
||||
github: ChuckPa
|
||||
+40
-29
@@ -2,12 +2,12 @@
|
||||
#########################################################################
|
||||
# Database Repair Utility for Plex Media Server. #
|
||||
# Maintainer: ChuckPa #
|
||||
# Version: v1.15.00 #
|
||||
# Date: 02-Mar-2026 #
|
||||
# Version: v1.16.00 #
|
||||
# Date: 23-Jun-2026 #
|
||||
#########################################################################
|
||||
|
||||
# Version for display purposes
|
||||
Version="v1.15.00"
|
||||
Version="v1.16.00"
|
||||
|
||||
# Have the databases passed integrity checks
|
||||
CheckedDB=0
|
||||
@@ -701,38 +701,49 @@ HostConfig() {
|
||||
HostType="ASUSTOR"
|
||||
return 0
|
||||
|
||||
|
||||
# Apple Mac
|
||||
elif [ -d "/Applications/Plex Media Server.app" ] && \
|
||||
[ -d "$HOME/Library/Application Support/Plex Media Server" ]; then
|
||||
elif [ "$(uname)" = "Darwin" ] && [ -d "$HOME/Library/Application Support/Plex Media Server" ]; then
|
||||
|
||||
# Where is the software
|
||||
PLEX_SQLITE="/Applications/Plex Media Server.app/Contents/MacOS/Plex SQLite"
|
||||
AppSuppDir="$HOME/Library/Application Support"
|
||||
DBDIR="$AppSuppDir/Plex Media Server/Plug-in Support/Databases"
|
||||
CACHEDIR="$HOME/Library/Caches/PlexMediaServer/PhotoTranscoder"
|
||||
LOGFILE="$DBDIR/DBRepair.log"
|
||||
LOG_TOOL="logger"
|
||||
TMPDIR="/tmp"
|
||||
SYSTMP="$TMPDIR"
|
||||
# Determine where the application bundle is installed
|
||||
if [ -d "/Applications/Plex Media Server.app" ]; then
|
||||
PkgDir="/Applications/Plex Media Server.app"
|
||||
elif [ -d "$HOME/Applications/Plex Media Server.app" ]; then
|
||||
PkgDir="$HOME/Applications/Plex Media Server.app"
|
||||
else
|
||||
# It is a Mac, but the .app bundle cannot be found
|
||||
PkgDir=""
|
||||
fi
|
||||
|
||||
# MacOS uses pgrep and uses different stat options
|
||||
PIDOF="pgrep"
|
||||
STATFMT="-f"
|
||||
STATBYTES="%z"
|
||||
STATPERMS="%A"
|
||||
# Only proceed if we successfully located PkgDir
|
||||
if [ -n "$PkgDir" ]; then
|
||||
# Where is the software
|
||||
PLEX_SQLITE="${PkgDir}/Contents/MacOS/Plex SQLite"
|
||||
AppSuppDir="$HOME/Library/Application Support"
|
||||
DBDIR="$AppSuppDir/Plex Media Server/Plug-in Support/Databases"
|
||||
CACHEDIR="$HOME/Library/Caches/PlexMediaServer/PhotoTranscoder"
|
||||
LOGFILE="$DBDIR/DBRepair.log"
|
||||
LOG_TOOL="logger"
|
||||
TMPDIR="/tmp"
|
||||
SYSTMP="$TMPDIR"
|
||||
|
||||
# Root not required on MacOS. PMS runs as username.
|
||||
RootRequired=0
|
||||
# MacOS uses pgrep and uses different stat options
|
||||
PIDOF="pgrep"
|
||||
STATFMT="-f"
|
||||
STATBYTES="%z"
|
||||
STATPERMS="%A"
|
||||
|
||||
# You can set haptic to 0 for silence.
|
||||
HaveStartStop=1
|
||||
StartCommand=startMacPMS
|
||||
StopCommand=stopMacPMS
|
||||
HapticOkay=1
|
||||
# Root not required on MacOS. PMS runs as username.
|
||||
RootRequired=0
|
||||
|
||||
HostType="Mac"
|
||||
return 0
|
||||
# You can set haptic to 0 for silence.
|
||||
HaveStartStop=1
|
||||
StartCommand=startMacPMS
|
||||
StopCommand=stopMacPMS
|
||||
HapticOkay=1
|
||||
|
||||
HostType="Mac"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# FreeBSD 14+
|
||||
elif [ -e /etc/os-release ] && [ "$(cat /etc/os-release | grep FreeBSD)" != "" ]; then
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
[](https://github.com/ChuckPa/DBRepair/releases)
|
||||
[]('')
|
||||

|
||||
[](https://github.com/sponsors/ChuckPa)
|
||||
|
||||
|
||||
DBRepair is run from a command line (terminal or ssh/putty session) which has sufficient privilege to read/write the databases (minimum).
|
||||
@@ -14,12 +15,12 @@ If sufficient privleges exist (root), and supported by the environment, the opti
|
||||
|
||||
## Situations and errors commonly seen include:
|
||||
|
||||
1. Searching is sluggish
|
||||
1. Searching is sluggish or completely broken
|
||||
2. Database is malformed / damaged / corrupted
|
||||
3. Database has bloated from media addition or changes
|
||||
4. Damaged indexes damaged
|
||||
4. Damaged indexes
|
||||
5. Importing data from other databases (watch history)
|
||||
6. Cleaning up operational temp files which PMS has forgotten to clean up
|
||||
6. Cleaning up operational temp files which PMS has forgotten
|
||||
|
||||
|
||||
## Functions provided
|
||||
@@ -291,19 +292,16 @@ Special considerations:
|
||||
4. The Logfile ('show' command) shows all actions performed WITH timestamp so you can locate
|
||||
intermediate databases if desired for special / manual recovery cases.
|
||||
|
||||
Attention:
|
||||
|
||||
The behavior of command "99" is different than command "Exit"
|
||||
This is intentional.
|
||||
|
||||
"99" is the "Get out now, Keep all intermediate/temp files.
|
||||
-- This is for when DB operations keep getting worse and you don't know what to do.
|
||||
"99" is an old 'Get Smart' TV series reference where agent 99 would try to save agent 86 from harm.
|
||||
|
||||
Community feedback has resulted in:
|
||||
|
||||
"98" or "Quit" - Get out now without deleting the temp databases (Usually
|
||||
used only during unexpected failures)
|
||||
"99" or "Exit" - Preferred way to exit and cleanup temp databases
|
||||
"98" or "Quit" - Get out now without deleting the temp databases (Usually used only during unexpected failures)
|
||||
|
||||
Notice:
|
||||
If command line EOF is encountered before Exit/Quit command received,
|
||||
DBRepair will quit and KEEP all temporary files.
|
||||
|
||||
|
||||
Also please be aware the script understands interactive versus scripted mode.
|
||||
|
||||
|
||||
@@ -7,7 +7,14 @@
|
||||
[]('')
|
||||

|
||||
|
||||
|
||||
|
||||
# Release Info:
|
||||
v1.16.00
|
||||
|
||||
1. MacOS App Dir - Older MacOS systems use /Applications. Newer MacOS systems use $HOME/Applications.
|
||||
DBRepair now detects this and supports both locations.
|
||||
|
||||
v1.15.00
|
||||
|
||||
1. DSM 6 Start/Stop - Change how DSM 6 start/stop feature implemented
|
||||
|
||||
Reference in New Issue
Block a user