| #!/bin/sh |
| # |
| # chronyd This shell script takes care of starting and stopping |
| # chronyd (NTP daemon). |
| # |
| # chkconfig: 45 80 20 |
| # description: chronyd is the NTP daemon. |
| |
| # Source function library. |
| . /etc/rc.d/init.d/functions |
| |
| # Source networking configuration. |
| . /etc/sysconfig/network |
| |
| # Check that networking is up. |
| [ ${NETWORKING} = "no" ] && exit 0 |
| |
| PREDIR="/usr/local" |
| CHRONYD=$PREDIR"/sbin/chronyd" |
| CHRONYC=$PREDIR"/bin/chronyc" |
| |
| [ -x $CHRONYD -a -x $CHRONYC -a -f /etc/chrony.conf ] || exit 0 |
| |
| dochrony() { |
| if [ -z "$(pidofproc chronyd)" ]; then |
| echo -e "\n\tchronyd not running\n\n" |
| exit 2 |
| fi |
| KEY=`awk '$1 == "commandkey" {print $2; exit}' /etc/chrony.conf` |
| PASSWORD=`awk '$1 == '$KEY' {print $2; exit}' /etc/chrony/keys` |
| |
| $CHRONYC <<- EOF |
| password $PASSWORD |
| $@ |
| quit |
| EOF |
| } |
| |
| # make the first parameter' lower case |
| set - `echo $1 | awk '{print tolower($1)}';shift;echo "$@"` |
| |
| # Expand any shortcuts. |
| case "$1" in |
| on|1) |
| set - "online" |
| ;; |
| off|0) |
| set - "offline" |
| esac |
| |
| # See how we were called. |
| case "$1" in |
| start) |
| # Start daemons. |
| echo -n "Starting chronyd: " |
| daemon $CHRONYD |
| if [ $? -eq 0 ]; then |
| echo $(pidofproc chronyd) > /var/run/chronyd.pid |
| touch /var/lock/subsys/chronyd |
| fi |
| echo |
| ;; |
| stop) |
| # Stop daemons. |
| echo -n "Shutting down chronyd: " |
| killproc chronyd |
| echo |
| rm -f /var/lock/subsys/chronyd |
| ;; |
| status) |
| status chronyd |
| ;; |
| restart|reload) |
| $0 stop |
| $0 start |
| ;; |
| condrestart) |
| if [ -f /var/lock/subsys/chronyd ]; then |
| $0 stop |
| $0 start |
| fi |
| ;; |
| "") |
| echo "Usage: chronyd |
| {start|stop|restart|reload|condrestart|status|[on|off]line etc}" |
| exit 1 |
| ;; |
| |
| accheck|cmdaccheck|clients|manual|rtcdata|sources|sourcestats|tracking|clients) |
| dochrony "$@" |
| ;; |
| *) |
| echo -n "Chrony $1: " |
| dochrony "$@" > /dev/null |
| [ $? -eq 0 ] && echo_success || echo_failure |
| echo |
| esac |
| |
| exit 0 |
| |