Compare commits

3 Commits

Author SHA1 Message Date
ChuckPa
91562060d1 v1.07.00
1.  Add MacOS start/stop functionality from menu.
2.  Cleanup & dead code removal
2024-06-14 13:20:37 -04:00
Chuck
4f5b5abdc8 Merge pull request #161 from 2bits/master
Support Mac Start Stop
2024-06-14 13:08:09 -04:00
2bits
b029ccebbb Support Mac Start Stop
Use osascript to Start and Stop PMS on Apple Mac.
2024-06-13 19:49:13 -07:00
3 changed files with 27 additions and 17 deletions

View File

@@ -2,12 +2,12 @@
#########################################################################
# Plex Media Server database check and repair utility script. #
# Maintainer: ChuckPa #
# Version: v1.06.02 #
# Date: 11-May-2024 #
# Version: v1.07.00 #
# Date: 14-Jun-2024 #
#########################################################################
# Version for display purposes
Version="v1.06.02"
Version="v1.07.00"
# Have the databases passed integrity checks
CheckedDB=0
@@ -575,7 +575,6 @@ HostConfig() {
AppSuppDir="$HOME/Library/Application Support"
DBDIR="$AppSuppDir/Plex Media Server/Plug-in Support/Databases"
CACHEDIR="$HOME/Library/Caches/PlexMediaServer/PhotoTranscoder"
PID_FILE="$DBDIR/dbtmp/plexmediaserver.pid"
LOGFILE="$DBDIR/DBRepair.log"
LOG_TOOL="logger"
@@ -588,15 +587,11 @@ HostConfig() {
# Root not required on MacOS. PMS runs as username.
RootRequired=0
# make the TMP directory in advance to store plexmediaserver.pid
mkdir -p "$DBDIR/dbtmp"
# Remove stale PID file if it exists
[ -f "$PID_FILE" ] && rm "$PID_FILE"
# If PMS is running create plexmediaserver.pid
PIDVALUE=$($PIDOF "Plex Media Server")
[ $PIDVALUE ] && echo $PIDVALUE > "$PID_FILE"
# You can set haptic to 0 for silence.
HaveStartStop=1
StartCommand=startMacPMS
StopCommand=stopMacPMS
HapticOkay=1
HostType="Mac"
return 0
@@ -990,10 +985,11 @@ DoRepair() {
fi
# Inform user
Output "Successfully exported the main and blobs databases. Proceeding to import into new databases."
Output "Successfully exported the main and blobs databases."
WriteLog "Repair - Export databases - PASS"
# Library and blobs successfully exported, create new
Output "Start importing into new databases."
Output "Importing Main DB."
DoSetPageSize "$TMPDIR/$CPPL.db-REPAIR-$TimeStamp"
"$PLEX_SQLITE" "$TMPDIR/$CPPL.db-REPAIR-$TimeStamp" < "$TMPDIR/library.plexapp.sql-$TimeStamp"
@@ -1545,6 +1541,12 @@ DoStop(){
return $Result
}
# Mac Helper Functions
startMacPMS() { TMPDIR=/tmp osascript -e 'tell app "Plex Media Server" to launch'; sleep 2; IsRunning && sayStarted; }
stopMacPMS() { osascript -e 'tell app "Plex Media Server" to quit'; sleep 2; IsRunning || sayStopped; }
sayStarted() { [ $HapticOkay -eq 1 ] && osascript -e 'say "started"'; }
sayStopped() { [ $HapticOkay -eq 1 ] && osascript -e 'say "Its stopped"'; }
# Do command line switches
#DoOptions() {

View File

@@ -949,11 +949,11 @@ Enter command # -or- command name (4 char min) :
# This script grants the given syno username (your username)
# the ability to elevate to 'root' privilege for use with DBRepair.sh
#
# Set your desired Syno username here (no spaces)
MyUsername=chuck
# Set your desired Syno username here (no spaces in the username)
MyUsername="chuck"
# Confirm username exists
if [ "$(id $MyUsername)" = "" ]; then
if [ "$(id "$MyUsername")" = "" ]; then
echo ERROR: No such user \'$MyUsername\'
exit 1
fi

View File

@@ -8,7 +8,15 @@
![Maintenance](https://img.shields.io/badge/Maintained-Yes-green.svg)
# Release Info:
v1.07.00
1. Mac start/stop - DBRepair now supports start/stop from the menu.
Default configuration is for MacOS to tell you what it's doing (Haptic). Set to 0 for silence.
2. Code cleanup - Minor code cleanup / dead code removal.
v1.06.02
1. Bug fix - Fixed incorrect error handling when command line arguments not valid in manual configuration mode.
Fixed incorrect reporting of what was wrong in manual configuration mode.