aboutsummaryrefslogtreecommitdiff
path: root/rmbt-client/files/updater.defaults
diff options
context:
space:
mode:
Diffstat (limited to 'rmbt-client/files/updater.defaults')
-rw-r--r--rmbt-client/files/updater.defaults24
1 files changed, 24 insertions, 0 deletions
diff --git a/rmbt-client/files/updater.defaults b/rmbt-client/files/updater.defaults
new file mode 100644
index 0000000..951558a
--- /dev/null
+++ b/rmbt-client/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