mirror of
https://github.com/ChuckPa/PlexDBRepair.git
synced 2026-07-31 11:03:52 -05:00
Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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
|
||||||
+39
-28
@@ -2,8 +2,8 @@
|
|||||||
#########################################################################
|
#########################################################################
|
||||||
# Database Repair Utility for Plex Media Server. #
|
# Database Repair Utility for Plex Media Server. #
|
||||||
# Maintainer: ChuckPa #
|
# Maintainer: ChuckPa #
|
||||||
# Version: v1.15.00 #
|
# Version: v1.16.00 #
|
||||||
# Date: 02-Mar-2026 #
|
# Date: 23-Jun-2026 #
|
||||||
#########################################################################
|
#########################################################################
|
||||||
|
|
||||||
# Version for display purposes
|
# Version for display purposes
|
||||||
@@ -701,38 +701,49 @@ HostConfig() {
|
|||||||
HostType="ASUSTOR"
|
HostType="ASUSTOR"
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
# Apple Mac
|
# Apple Mac
|
||||||
elif [ -d "/Applications/Plex Media Server.app" ] && \
|
elif [ "$(uname)" = "Darwin" ] && [ -d "$HOME/Library/Application Support/Plex Media Server" ]; then
|
||||||
[ -d "$HOME/Library/Application Support/Plex Media Server" ]; then
|
|
||||||
|
|
||||||
# Where is the software
|
# Determine where the application bundle is installed
|
||||||
PLEX_SQLITE="/Applications/Plex Media Server.app/Contents/MacOS/Plex SQLite"
|
if [ -d "/Applications/Plex Media Server.app" ]; then
|
||||||
AppSuppDir="$HOME/Library/Application Support"
|
PkgDir="/Applications/Plex Media Server.app"
|
||||||
DBDIR="$AppSuppDir/Plex Media Server/Plug-in Support/Databases"
|
elif [ -d "$HOME/Applications/Plex Media Server.app" ]; then
|
||||||
CACHEDIR="$HOME/Library/Caches/PlexMediaServer/PhotoTranscoder"
|
PkgDir="$HOME/Applications/Plex Media Server.app"
|
||||||
LOGFILE="$DBDIR/DBRepair.log"
|
else
|
||||||
LOG_TOOL="logger"
|
# It is a Mac, but the .app bundle cannot be found
|
||||||
TMPDIR="/tmp"
|
PkgDir=""
|
||||||
SYSTMP="$TMPDIR"
|
fi
|
||||||
|
|
||||||
# MacOS uses pgrep and uses different stat options
|
# Only proceed if we successfully located PkgDir
|
||||||
PIDOF="pgrep"
|
if [ -n "$PkgDir" ]; then
|
||||||
STATFMT="-f"
|
# Where is the software
|
||||||
STATBYTES="%z"
|
PLEX_SQLITE="${PkgDir}/Contents/MacOS/Plex SQLite"
|
||||||
STATPERMS="%A"
|
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.
|
# MacOS uses pgrep and uses different stat options
|
||||||
RootRequired=0
|
PIDOF="pgrep"
|
||||||
|
STATFMT="-f"
|
||||||
|
STATBYTES="%z"
|
||||||
|
STATPERMS="%A"
|
||||||
|
|
||||||
# You can set haptic to 0 for silence.
|
# Root not required on MacOS. PMS runs as username.
|
||||||
HaveStartStop=1
|
RootRequired=0
|
||||||
StartCommand=startMacPMS
|
|
||||||
StopCommand=stopMacPMS
|
|
||||||
HapticOkay=1
|
|
||||||
|
|
||||||
HostType="Mac"
|
# You can set haptic to 0 for silence.
|
||||||
return 0
|
HaveStartStop=1
|
||||||
|
StartCommand=startMacPMS
|
||||||
|
StopCommand=stopMacPMS
|
||||||
|
HapticOkay=1
|
||||||
|
|
||||||
|
HostType="Mac"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
# FreeBSD 14+
|
# FreeBSD 14+
|
||||||
elif [ -e /etc/os-release ] && [ "$(cat /etc/os-release | grep FreeBSD)" != "" ]; then
|
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/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).
|
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:
|
## Situations and errors commonly seen include:
|
||||||
|
|
||||||
1. Searching is sluggish
|
1. Searching is sluggish or completely broken
|
||||||
2. Database is malformed / damaged / corrupted
|
2. Database is malformed / damaged / corrupted
|
||||||
3. Database has bloated from media addition or changes
|
3. Database has bloated from media addition or changes
|
||||||
4. Damaged indexes damaged
|
4. Damaged indexes
|
||||||
5. Importing data from other databases (watch history)
|
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
|
## Functions provided
|
||||||
@@ -291,19 +292,16 @@ Special considerations:
|
|||||||
4. The Logfile ('show' command) shows all actions performed WITH timestamp so you can locate
|
4. The Logfile ('show' command) shows all actions performed WITH timestamp so you can locate
|
||||||
intermediate databases if desired for special / manual recovery cases.
|
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:
|
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
|
"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.
|
Also please be aware the script understands interactive versus scripted mode.
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,14 @@
|
|||||||
[]('')
|
[]('')
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Release Info:
|
# 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
|
v1.15.00
|
||||||
|
|
||||||
1. DSM 6 Start/Stop - Change how DSM 6 start/stop feature implemented
|
1. DSM 6 Start/Stop - Change how DSM 6 start/stop feature implemented
|
||||||
|
|||||||
Reference in New Issue
Block a user