| Re: [chrony-users] Starting Chronyd as online |
[ Thread Index | Date Index | More chrony.tuxfamily.org/chrony-users Archives ]
Am Sonntag, den 01.07.2012, 23:37 -0700 schrieb Bill Unruh:
> On Sun, 1 Jul 2012, Bill Unruh wrote:
>
> > On Mon, 2 Jul 2012, Paul Menzel wrote:
> >> Am Sonntag, den 01.07.2012, 22:55 -0700 schrieb Bill Unruh:
> >> > On Mon, 2 Jul 2012, Paul Menzel wrote:
> >>
> >> > > is there a way to start Chronyd as online with an option?
> >> > >
> >> > > This would be helpful to simplify init.d scripts or service files not
> >> > > having to read the password from the key file and pass some commands
> >> > > to
> >> > > Chronyc.
> >> >
> >> > No idea what you mean of why having chronyd "online" ( O assume not
> >> > detached
> >> > as a daemon) would help. You would still need to run chronyc to pass
> >> > commands
> >> > to the running daemon, and would have to read the password file to send
> >> > certain commands. And how it would simplify init.d scripts I have no
> >> > idea.
> >> > Perhaps if you told us the problem, rather than the solution, we could
> >> > be more
> >> > helpful.
> >>
> >> Currently starting Chronyd and executing `activity` in Chronyc all
> >> sources (NTP servers) are listed as offline. The command `online` has to
> >> be executed to get those online. I would like to start Chronyd, so that
> >> all sources are online right away.
> >
> > OK, it should not do that if your network is up and you have not told it to
> > put them all offline in /etc/chrony.conf.
Strange. But this is definitely the behavior I am seeing. The shipped
init.d script also contains the following lines to send the `online`
command.
$ more /etc/init.d/chrony
[…]
putonline ()
{ # Do we have a default route? If so put chronyd online.
if timelimit -q -s9 -t5 -- netstat -rn 2>/dev/null | grep -q '0\.0\.0\.0'
then
sleep 2 # Chronyd can take a while to start.
KEY=$(awk '$1 ~ /^commandkey$/ { print $2; exit}' /etc/chrony/chrony.conf)
PASSWORD=`awk '$1 ~ /^'$KEY'$/ {print $2; exit}' /etc/chrony/chrony.keys`
# Make sure chronyc can't hang us up.
if timelimit -q -s9 -t5 -- /usr/bin/chronyc > /dev/null << EOF
password $PASSWORD
online
burst 5/10
quit
EOF
then
touch /var/run/chrony-ppp-up
echo "$NAME is running and online."
else
rm -f /var/run/chrony-ppp-up
echo "$NAME is running and offline."
fi
else
rm -f /var/run/chrony-ppp-up
echo "$NAME is running and offline."
fi
}
case "$1" in
start)
start-stop-daemon --start --verbose --exec $DAEMON
case "$?" in
0) # daemon successfully started
putonline
;;
[…]
> > a) check chrony.conf to see if it is telling chrony to put the sources
> > offline. If chrony.conf is doing that remove the offline keywords in
> > chorny.conf.
> >
> > b) Is your network up when chrony comes up? If you have to have chrony start
> > before the network comes up, then you could put in an init.d script to
> > restart
> > chronyd after the network is up
>
> Actually cancel b) Even if the network is down when chrony starts the sources
> should come up and be online when the network comes up. At least it does that
> on my laptop, where I have to connect to the network well after chronyd comes
> up. Perhaps you should post your chrony.conf file and tell us which version of
> chrony you are running.
I am using Chrony 1.26 from Debian Sid/unstable. Please find my
`chrony.conf` file attached which is the one shipped in the Debian
package.
Thanks,
Paul
# This the default chrony.conf file for the Debian chrony package. After # editing this file use the command 'invoke-rc.d chrony restart' to make # your changes take effect. John Hasler <jhasler@xxxxxxxxxx> 1998-2008 # See www.pool.ntp.org for an explanation of these servers. Please # consider joining the project if possible. If you can't or don't want to # use these servers I suggest that you try your ISP's nameservers. We mark # the servers 'offline' so that chronyd won't try to connect when the link # is down. Scripts in /etc/ppp/ip-up.d and /etc/ppp/ip-down.d use chronyc # commands to switch it on when a dialup link comes up and off when it goes # down. Code in /etc/init.d/chrony attempts to determine whether or not # the link is up at boot time and set the online status accordingly. If # you have an always-on connection such as cable omit the 'offline' # directive and chronyd will default to online. # # Note that if Chrony tries to go "online" and dns lookup of the servers # fails they will be discarded. Thus under some circumstances it is # better to use IP numbers than host names. server 0.debian.pool.ntp.org offline minpoll 8 server 1.debian.pool.ntp.org offline minpoll 8 server 2.debian.pool.ntp.org offline minpoll 8 server 3.debian.pool.ntp.org offline minpoll 8 # Look here for the admin password needed for chronyc. The initial # password is generated by a random process at install time. You may # change it if you wish. keyfile /etc/chrony/chrony.keys # Set runtime command key. Note that if you change the key (not the # password) to anything other than 1 you will need to edit # /etc/ppp/ip-up.d/chrony, /etc/ppp/ip-down.d/chrony, /etc/init.d/chrony # and /etc/cron.weekly/chrony as these scripts use it to get the password. commandkey 1 # I moved the driftfile to /var/lib/chrony to comply with the Debian # filesystem standard. driftfile /var/lib/chrony/chrony.drift # Comment this line out to turn off logging. log tracking measurements statistics logdir /var/log/chrony # Stop bad estimates upsetting machine clock. maxupdateskew 100.0 # Dump measurements when daemon exits. dumponexit # Specify directory for dumping measurements. dumpdir /var/lib/chrony # Let computer be a server when it is unsynchronised. local stratum 10 # Allow computers on the unrouted nets to use the server. allow 10/8 allow 192.168/16 allow 172.16/12 # This directive forces `chronyd' to send a message to syslog if it # makes a system clock adjustment larger than a threshold value in seconds. logchange 0.5 # This directive defines an email address to which mail should be sent # if chronyd applies a correction exceeding a particular threshold to the # system clock. # mailonchange root@localhost 0.5 # This directive tells chrony to regulate the real-time clock and tells it # Where to store related data. It may not work on some newer motherboards # that use the HPET real-time clock. It requires enhanced real-time # support in the kernel. I've commented it out because with certain # combinations of motherboard and kernel it is reported to cause lockups. # rtcfile /var/lib/chrony/chrony.rtc # If the last line of this file reads 'rtconutc' chrony will assume that # the CMOS clock is on UTC (GMT). If it reads '# rtconutc' or is absent # chrony will assume local time. The line (if any) was written by the # chrony postinst based on what it found in /etc/default/rcS. You may # change it if necessary.
Attachment:
init
Description: application/shellscript
Attachment:
signature.asc
Description: This is a digitally signed message part
| Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |