vm/addons/automatic_updates.sh
szaimen fa73d472e4
allow to reinstall automatic updates (#1681)
Signed-off-by: szaimen <szaimen@e.mail.de>
2020-11-18 23:19:36 +01:00

52 lines
1.8 KiB
Bash

#!/bin/bash
# T&M Hansson IT AB © - 2020, https://www.hanssonit.se/
true
SCRIPT_NAME="Automatic Updates"
# shellcheck source=lib.sh
source /var/scripts/fetch_lib.sh || source <(curl -sL https://raw.githubusercontent.com/nextcloud/vm/master/lib.sh)
SCRIPT_EXPLAINER="This option will update your server every week on Saturdays at $AUT_UPDATES_TIME:00.
The update will run the built in script '$SCRIPTS/update.sh' which will update both the server packages and Nextcloud itself.\n
You can read more about it here: https://www.techandme.se/nextcloud-update-is-now-fully-automated/
Please keep in mind that automatic updates might fail hence it's \
important to have a proper backup in place if you plan to run this option."
# Check for errors + debug code and abort if something isn't right
# 1 = ON
# 0 = OFF
DEBUG=0
debug_mode
# Check if root
root_check
# Check if automatic updates are already installed
if ! crontab -u root -l | grep -q "$SCRIPTS/update.sh"
then
# Ask for installing
install_popup "$SCRIPT_NAME"
else
# Ask for removal or reinstallation
reinstall_remove_menu "$SCRIPT_NAME"
# Removal
crontab -u root -l | grep -v "$SCRIPTS/update.sh" | crontab -u root -
sed -i '/shutdown/d' "$SCRIPTS/update.sh"
sed -i '/reboot/d' "$SCRIPTS/update.sh"
# Show successful uninstall if applicable
removal_popup "$SCRIPT_NAME"
fi
# Install automatic updates
touch $VMLOGS/update.log
crontab -u root -l | { cat; echo "0 $AUT_UPDATES_TIME * * 6 $SCRIPTS/update.sh minor >> $VMLOGS/update.log 2>&1"; } | crontab -u root -
if yesno_box_yes "Do you want to reboot your server after every update? *recommended*"
then
sed -i "s|exit|/sbin/shutdown -r +1|g" "$SCRIPTS"/update.sh
echo "exit" >> "$SCRIPTS"/update.sh
fi
msg_box "Please remember to keep backups in case something goes wrong, you never know."
exit