Date: Thu, 3 Feb 2005 19:52:14 +0100 (CET) From: Oliver Fromme <olli@lurza.secnetix.de> To: freebsd-stable@FreeBSD.ORG Subject: Re: Adjusting time on a secured FreeBSD machine. Message-ID: <200502031852.j13IqEQS051627@lurza.secnetix.de> In-Reply-To: <200502031834.j13IYKsl050718@lurza.secnetix.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Sorry for replying to myself ... Oliver Fromme <olli@lurza.secnetix.de> wrote: > Adding to that, the following /bin/sh snippet should do > (untested!). You have to kill ntpd before. > > STEP=100 # number of seconds to step forward > while [ $STEP -gt 0 ]; do > date -f %s $(( `date +%s` + 1 )) > sleep 1 > STEP=$(( $STEP - 1 )) > done > > It will take about 100 seconds to correct the clock forward > by another 100 seconds. If you need to correct backwards, > replace "+ 1" by "- 1". For different numbers of seconds > to correct, replace the 100 in the first line. > > When you have approached the correct time sufficiently (i.e. > within a few seconds), restart ntpd with the -x option. Stepping backwards with that script won't work, I guess, because the steps will be larger than 1 second. If you have to step backwards, try to replace the "date" line with these: NOW=`date +%s` sleep 0.9 date -f %s $NOW Again: it's untested. Also beware that it might be a very bad idea to step the time on a live multi-user system. Some programs don't like it at all. Best regards Oliver -- Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München Any opinions expressed in this message may be personal to the author and may not necessarily reflect the opinions of secnetix in any way. "The scanf() function is a large and complex beast that often does something almost but not quite entirely unlike what you desired." -- Chris Torek
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200502031852.j13IqEQS051627>