mirror of
https://github.com/mrworf/plexupdate.git
synced 2025-08-19 21:03:19 -07:00
Update cron support
Use new crontab file file in cron.d instead of cron.daily to support more devices
This commit is contained in:
parent
e5b65cec37
commit
508e7dd184
1 changed files with 37 additions and 2 deletions
|
@ -4,7 +4,8 @@ ORIGIN_REPO="https://github.com/${GIT_OWNER:-mrworf}/plexupdate"
|
||||||
FULL_PATH="/opt/plexupdate"
|
FULL_PATH="/opt/plexupdate"
|
||||||
CONFIGFILE="/etc/plexupdate.conf"
|
CONFIGFILE="/etc/plexupdate.conf"
|
||||||
CONFIGCRON="/etc/plexupdate.cron.conf"
|
CONFIGCRON="/etc/plexupdate.cron.conf"
|
||||||
CRONWRAPPER="/etc/cron.daily/plexupdate"
|
CRONWRAPPER="/etc/cron.d/plexupdate"
|
||||||
|
CRONWRAPPER_LEGACY="/etc/cron.daily/plexupdate"
|
||||||
VERBOSE=yes #to be inherited by get-plex-token, do not save to config
|
VERBOSE=yes #to be inherited by get-plex-token, do not save to config
|
||||||
|
|
||||||
# default options
|
# default options
|
||||||
|
@ -240,6 +241,11 @@ configure_cron() {
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -f "CRONWRAPPER_LEGACY" -a ! -L "CRONWRAPPER_LEGACY" ]; then
|
||||||
|
echo "It seems like you have a custom cron job for plexupdate. Skipping cron job configuration."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
[ -f "$CONFIGCRON" ] && source "$CONFIGCRON"
|
[ -f "$CONFIGCRON" ] && source "$CONFIGCRON"
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
@ -278,7 +284,14 @@ configure_cron() {
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo -n "Installing daily cron job... "
|
echo -n "Installing daily cron job... "
|
||||||
sudo ln -sf "${FULL_PATH}/extras/cronwrapper" "$CRONWRAPPER"
|
#changes go here
|
||||||
|
schedule=$(grep "cron.daily" crontab)
|
||||||
|
if [ -z "$schedule" ]; then
|
||||||
|
schedule="0 4 * * * "
|
||||||
|
else
|
||||||
|
schedule=${schedule%%root*}
|
||||||
|
fi
|
||||||
|
save_cronjob "${schedule}root $(which sh) ${FULL_PATH}/extras/cronwrapper" "$CRONWRAPPER"
|
||||||
echo "done"
|
echo "done"
|
||||||
elif [ -f "$CRONWRAPPER" -o -f "$CONFIGCRON" ]; then
|
elif [ -f "$CRONWRAPPER" -o -f "$CONFIGCRON" ]; then
|
||||||
echo
|
echo
|
||||||
|
@ -291,6 +304,28 @@ configure_cron() {
|
||||||
fi
|
fi
|
||||||
echo done
|
echo done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -f "$CRONWRAPPER_LEGACY" ]; then
|
||||||
|
sudo rm "$CRONWRAPPER_LEGACY" || echo "Failed to remove old cron configuration, please check '$CRONWRAPPER_LEGACY'"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
save_cronjob() {
|
||||||
|
CONFIGTEMP=$(mktemp /tmp/plexupdate.XXX)
|
||||||
|
echo "#minute hour mday month wday who command" >> $CONFIGTEMP
|
||||||
|
echo "$1" >> $CONFIGTEMP
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo -n "Writing cron job file '$2'... "
|
||||||
|
|
||||||
|
# most likely writing to /etc, so we need sudo
|
||||||
|
sudo tee "$2" > /dev/null < "$CONFIGTEMP"
|
||||||
|
sudo chmod 640 "$2"
|
||||||
|
# only root can modify the config, but the user can still read it
|
||||||
|
sudo chown 0:$(id -g) "$2"
|
||||||
|
rm "$CONFIGTEMP"
|
||||||
|
|
||||||
|
echo "done"
|
||||||
}
|
}
|
||||||
|
|
||||||
save_config() {
|
save_config() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue