7 Commits
Author SHA1 Message Date
ChuckandGitHub bbb03f0c75 Update README.md 2026-06-23 17:33:26 -04:00
ChuckandGitHub 32a949d797 Merge pull request #287 from ChuckPa/chuckpa/MacOS-application-dir
v1.16.00

MacOS - Add support for either /Applications or $HOME/Applications package locations
2026-06-23 15:50:40 -04:00
Chuck 1c4a63178b v 1.16.00
Add mutli-location support for PlexMediaServer.app on MacOS

Add Buttons for Coffee donations.
2026-06-23 15:45:24 -04:00
ChuckandGitHub 3fb3453621 Update FUNDING.yml 2026-06-23 14:27:47 -04:00
ChuckandGitHub 93909ec504 Create FUNDING.yml 2026-06-23 14:26:32 -04:00
ChuckandGitHub b0aaf2b3e2 Merge pull request #282 from ChuckPa/chuckpa/v1.15.01
Correct documentation.
2026-04-18 15:51:33 -04:00
Chuck 14d044a8f2 Correct documentation. 2026-04-18 15:48:33 -04:00
4 changed files with 57 additions and 39 deletions
+2
View File
@@ -0,0 +1,2 @@
# If DBRepair has helped you, you're welcome to make a one-time donation.
github: ChuckPa
+37 -26
View File
@@ -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
+11 -13
View File
@@ -6,6 +6,7 @@
[![Download total](https://img.shields.io/github/downloads/ChuckPa/DBRepair/total.svg)](https://github.com/ChuckPa/DBRepair/releases)
[![master](https://img.shields.io/badge/master-stable-green.svg?maxAge=2592000)]('')
![Maintenance](https://img.shields.io/badge/Maintained-Yes-green.svg)
[![Sponsor ChuckPa](https://img.shields.io/badge/Sponsor-%E2%9D%A4-ea4aaa.svg?style=flat&logo=github)](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
View File
@@ -7,7 +7,14 @@
[![master](https://img.shields.io/badge/master-stable-green.svg?maxAge=2592000)]('')
![Maintenance](https://img.shields.io/badge/Maintained-Yes-green.svg)
# 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