setclock: use last log access time if no rtc found.

This prevents time backjumps that destroy graphs and vnstat data.
This commit is contained in:
Arne Fitzenreiter
2013-01-21 17:53:36 +01:00
parent 8b6f424c03
commit 5292c03dde

View File

@@ -24,10 +24,21 @@ case ${1} in
# udev not create the rtc symlink if rtc is in the kernel
if [ ! -e /dev/rtc ]; then
ln -s rtc0 /dev/rtc
if [ -e /dev/rtc0 ]; then
ln -s rtc0 /dev/rtc
fi
fi
hwclock --hctosys ${CLOCKPARAMS} &>/dev/null
if [ ! ${?} == 0 ]; then
if [ ! -z /var/log/messages ]; then
boot_mesg -n "No RTC found, set time to last log accesstime ... "
DATE=`stat --format "%y" /var/log/messages | cut -d" " -f1`
TIME=`stat --format "%y" /var/log/messages | sed -e "s|\..*||g" | cut -d" " -f2`
date -s $DATE > /dev/null
date -s $TIME
fi
fi
evaluate_retval
;;