rc.ntp 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
  2. ##
  3. ## rc.ntp -- Run-Commands for NTP Daemon
  4. ##
  5. %config
  6. ntp_enable="yes"
  7. ntp_log_prolog="true"
  8. ntp_log_epilog="true"
  9. ntp_log_numfiles="10"
  10. ntp_log_minsize="1M"
  11. ntp_log_complevel="9"
  12. %common
  13. ntp_signal () {
  14. if [ -f "@l_prefix@/var/ntp/ntpd.pid" ]; then
  15. kill -$1 `cat @l_prefix@/var/ntp/ntpd.pid`
  16. fi
  17. }
  18. %start -p 200 -u root
  19. opServiceEnabled ntp || exit 0
  20. # synchronize local machine once at startup
  21. # because ntpd does not skip large time offsets
  22. @l_prefix@/bin/ntpdate \
  23. `grep "^server" @l_prefix@/etc/ntp/ntp.conf |\
  24. awk '{ printf(" %s", $2); }'`
  25. # run the NTP daemon for continued synchronization
  26. @l_prefix@/bin/ntpd \
  27. -p @l_prefix@/var/ntp/ntpd.pid \
  28. -f @l_prefix@/var/ntp/ntpd.drift \
  29. -l @l_prefix@/var/ntp/ntpd.log \
  30. -s @l_prefix@/var/ntp/ntpd.stat/
  31. %stop -p 200 -u root
  32. opServiceEnabled ntp || exit 0
  33. ntp_signal TERM
  34. %restart -u root
  35. opServiceEnabled ntp || exit 0
  36. ntp_signal TERM
  37. sleep 2
  38. # restart the NTP daemon for continued synchronization
  39. @l_prefix@/bin/ntpd \
  40. -p @l_prefix@/var/ntp/ntpd.pid \
  41. -f @l_prefix@/var/ntp/ntpd.drift \
  42. -l @l_prefix@/var/ntp/ntpd.log \
  43. -s @l_prefix@/var/ntp/ntpd.stat/
  44. %daily -u root
  45. opServiceEnabled ntp || exit 0
  46. opTmpDirGen ntp
  47. opTmpDirFile ntp hint hintfile
  48. prolog="true"
  49. if [ ".$ntp_log_prolog" != . ]; then
  50. prolog="$prolog; $ntp_log_prolog"
  51. fi
  52. epilog="echo 'epilog' >$hintfile"
  53. if [ ".$ntp_log_epilog" != . ]; then
  54. epilog="$epilog; $ntp_log_epilog"
  55. fi
  56. shtool rotate -f \
  57. -n${ntp_log_numfiles} -s${ntp_log_minsize} \
  58. -d -z${ntp_log_complevel} \
  59. -o@l_musr@ -g@l_mgrp@ -m644 \
  60. -P "$prolog" \
  61. -E "$epilog" \
  62. @l_prefix@/var/ntp/ntpd.log
  63. if [ ".`cat $hintfile`" = ".epilog" ]; then
  64. ntp_signal TERM
  65. sleep 2
  66. # restart the NTP daemon
  67. @l_prefix@/bin/ntpd \
  68. -p @l_prefix@/var/ntp/ntpd.pid \
  69. -f @l_prefix@/var/ntp/ntpd.drift \
  70. -l @l_prefix@/var/ntp/ntpd.log \
  71. -s @l_prefix@/var/ntp/ntpd.stat/
  72. fi
  73. opTmpDirDel ntp