summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2014-01-29 13:17:03 +0000
committerJo-Philipp Wich <jow@openwrt.org>2014-01-29 13:17:03 +0000
commit73344b9c56d2d378311a6deb03a0b02a36e1f30b (patch)
tree3ae6047b173a0467f76c59cc8d7728d1156dde87
parent76e28f6b6ea147743d9fd70e7426f347aacd0816 (diff)
downloadmaster-31e0f0ae-73344b9c56d2d378311a6deb03a0b02a36e1f30b.tar.gz
master-31e0f0ae-73344b9c56d2d378311a6deb03a0b02a36e1f30b.tar.bz2
master-31e0f0ae-73344b9c56d2d378311a6deb03a0b02a36e1f30b.zip
Add sysfixtime init script, replacement of luci_fixtime
Simply scan for the most recent file in /etc and set system time to this file modification time if it's in the future It allow some time dependent program to work immediatly without waiting for ntpd to sync v1: v2: bad approach v3: simply scan /etc, thanks to Bastian Bittorf for the idea v4: use sort -n, thanks to Catalin Patulea v5: use [] instead of [[]], thanks to Andreas Mohr v6: use openwrt style, thanks to Bastian Bittorf Signed-off-by: Etienne CHAMPETIER <etienne.champetier@free.fr> SVN-Revision: 39422
-rwxr-xr-xpackage/base-files/files/etc/init.d/sysfixtime13
1 files changed, 13 insertions, 0 deletions
diff --git a/package/base-files/files/etc/init.d/sysfixtime b/package/base-files/files/etc/init.d/sysfixtime
new file mode 100755
index 0000000000..525d765758
--- /dev/null
+++ b/package/base-files/files/etc/init.d/sysfixtime
@@ -0,0 +1,13 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2013-2014 OpenWrt.org
+
+START=00
+
+boot() {
+ local curtime="$(date +%s)"
+ local maxtime="$(find /etc -type f -exec date +%s -r {} \; | sort -nr | head -n1)"
+ [ $curtime -lt $maxtime ] && \
+ date -s @$maxtime && \
+ logger -t sysfixtime -p daemon.notice "Time fixed"
+}
+