Last active
December 11, 2021 23:37
-
-
Save sophieforceno/dbaae4db53703eb5ac69be8a13eb2ec4 to your computer and use it in GitHub Desktop.
Updates Plex media server running on Ubuntu
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/bash | |
# Downloads and install the latest version of Plex (for Ubuntu) for your arch | |
# if the version available is newer than what is installed | |
# | |
# | |
# by Sophie Forceno | |
# | |
arch=$(uname -m) | |
DL_PATH="/media/external/Software/Linux/$arch" | |
installed_ver=$(dpkg -s plexmediaserver | grep -Po '(?<=Version\: )(\S+)') | |
deburl=$(curl -s "https://plex.tv/downloads/details/1?build=linux-ubuntu-$arch&channel=16&distro=ubuntu" | grep -Po '(?<=url=\")(\S+)(?=\")') | |
filename=$(echo "$deburl" | awk -F'/' '{ print $7 }') | |
avail_ver=$(curl -s "https://plex.tv/downloads/details/1?build=linux-ubuntu-$arch&channel=16&distro=ubuntu" | grep -Po '(?<=(\" version=\"))(\S+)(?=(\"))') | |
if [[ "$installed_ver" = "$avail_ver" && -n "$installed_ver" && -n "$avail_ver" ]]; then | |
echo "Plexmediaserver is already up-to-date (version $installed_ver)" | |
exit 0 | |
elif [[ "$installed_ver" != "$avail_ver" && -n "$installed_ver" && -n "$avail_ver" ]]; then | |
echo "There is an update for plexmediaserver!" | |
sudo rm -fv "$DL_PATH"/plex* | |
echo "Downloading plexmediaserver v$avail_ver" | |
sudo wget -q "$deburl" -P "$DL_PATH" | |
echo "Stopping plexmediaserver..." | |
sudo service plexmediaserver stop | |
echo "Installing plexmediaserver v$avail_ver" | |
sudo dpkg -i "$DL_PATH"/"$filename" | |
installed_ver=$(dpkg -s plexmediaserver | grep -Po '(?<=Version\: )(\S+)') | |
echo "Plex has been updated to v$installed_ver!" | |
exit 0 | |
else | |
echo "Uh oh. Can't get latest version. Do you have an internet connection?" | |
exit 1 | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment