diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2014-01-29 13:17:03 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2014-01-29 13:17:03 +0000 |
commit | 73344b9c56d2d378311a6deb03a0b02a36e1f30b (patch) | |
tree | 3ae6047b173a0467f76c59cc8d7728d1156dde87 /package/base-files/files/etc | |
parent | 76e28f6b6ea147743d9fd70e7426f347aacd0816 (diff) | |
download | upstream-73344b9c56d2d378311a6deb03a0b02a36e1f30b.tar.gz upstream-73344b9c56d2d378311a6deb03a0b02a36e1f30b.tar.bz2 upstream-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
Diffstat (limited to 'package/base-files/files/etc')
-rwxr-xr-x | package/base-files/files/etc/init.d/sysfixtime | 13 |
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" +} + |