From 74799790484128bc2de80a620b67aa584c204b6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Wed, 13 Sep 2017 15:33:26 +0200 Subject: Updater-ng-auto --- updater-ng-auto/files/updater.defaults | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 updater-ng-auto/files/updater.defaults (limited to 'updater-ng-auto/files/updater.defaults') diff --git a/updater-ng-auto/files/updater.defaults b/updater-ng-auto/files/updater.defaults new file mode 100644 index 0000000..951558a --- /dev/null +++ b/updater-ng-auto/files/updater.defaults @@ -0,0 +1,24 @@ +#!/bin/sh + +# We want to generate some "random" time when the updater is run, every 12 hours. +# The time when the router is first booted or the updater is installed for +# the first time is as good source of the time as any. +# +# With date +%l we get time in interval 1-12. Substracting 1 gives us 0-11, and +# the next run is 12-23 by adding 12. We may take the minutes as they are. +# +# We need to take care not to have leading zeroes, since tools tend to take that +# as octal. We don't want to study which tools are OK with it, so we simply +# don't have them. + +HOUR=$(($(date +%I | sed -e 's/^0*\(..*\)/\1/') - 1)) # We want 12-hour interval. And no leading zeroes (except for a lone 0) +HOUR_NEXT=$(($HOUR + 12)) +MINUTE=$(date +%M | sed -e 's/^0*\(..*\)/\1/') + +# Generate the cron script +( + echo 'MAILTO=""' + echo "$MINUTE $HOUR,$HOUR_NEXT * * * root /usr/bin/updater.sh >/dev/null 2>&1 &" + echo "0 0 * * * root /usr/bin/updater-unstuck.sh >/dev/null 2>&1" +) >/etc/cron.d/updater +chmod 0600 /etc/cron.d/updater -- cgit v1.2.3