summaryrefslogtreecommitdiffhomepage
path: root/modules/freifunk/root/usr/sbin
diff options
context:
space:
mode:
Diffstat (limited to 'modules/freifunk/root/usr/sbin')
-rwxr-xr-xmodules/freifunk/root/usr/sbin/ff_rdate21
1 files changed, 21 insertions, 0 deletions
diff --git a/modules/freifunk/root/usr/sbin/ff_rdate b/modules/freifunk/root/usr/sbin/ff_rdate
new file mode 100755
index 0000000000..5a728f6734
--- /dev/null
+++ b/modules/freifunk/root/usr/sbin/ff_rdate
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+uci_get_one() {
+ for var in "$@"; do
+ uci -P /var/state get "$var" 2>/dev/null && break
+ done
+}
+
+local servers=$(uci_get_one "network.wan.lease_timesrv" \
+ "system.time.rdate_servers" "freifunk.time.rdate_servers")
+
+if [ -n "$servers" ]; then
+ for server in $servers; do
+ rdate -s $server >/dev/null 2>/dev/null && \
+ logger -t rdate "Synced with $server" && break
+
+ logger -t rdate "Failed to sync with $server"
+ done
+else
+ logger -t rdate "No usable time server found"
+fi