From 71784150d00655e8ebfb65026ea97e2d9dd6fb68 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sun, 17 Dec 2017 10:23:52 -0200 Subject: Adds aperiodic-upgrade --- share/hydractl/aperiodic-upgrade | 49 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 share/hydractl/aperiodic-upgrade (limited to 'share') diff --git a/share/hydractl/aperiodic-upgrade b/share/hydractl/aperiodic-upgrade new file mode 100755 index 0000000..1b0f649 --- /dev/null +++ b/share/hydractl/aperiodic-upgrade @@ -0,0 +1,49 @@ +#!/bin/bash +# +# Run a system upgrade. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public +# License along with this program. If not, see +# . + +# Basic parameters +TIMEFRAME="${1:-86400}" +DATE="`date +%s`" +LOG="/var/lib/hydractl/aperidic-upgrade" + +# Set sudo config +if [ "`whoami`" != 'root' ]; then + sudo="sudo" +fi + +# Ensure log folder +$sudo mkdir -p "`dirname $LOG`" + +if [ ! -e "$LOG" ]; then + # Upgrade anyway + hydractl upgrade +else + LAST="`cat $LOG`" + INTERVAL="$(($DATE - $LAST))" + + # More than $TIMEFRAME? + if (( $INTERVAL > $TIMEFRAME )); then + echo hydractl upgrade + else + echo "Please enjoy life for an additional $(($TIMEFRAME - $INTERVAL)) seconds before running this command again." + exit + fi +fi + +# Save timestamp +$DATE | $sudo tee $LOG > /dev/null -- cgit v1.2.3