#!/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