rc.maradns 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #!@l_prefix@/bin/openpkg rc
  2. ##
  3. ## rc.maradns -- Run-Commands
  4. ##
  5. %config
  6. maradns_enable="$openpkg_rc_def"
  7. maradns_daemons="maradns zoneserver"
  8. maradns_log_prolog="true"
  9. maradns_log_epilog="true"
  10. maradns_log_numfiles="10"
  11. maradns_log_minsize="1M"
  12. maradns_log_complevel="9"
  13. %common
  14. maradns_cfgfile="@l_prefix@/etc/maradns/mararc"
  15. maradns_logfile="@l_prefix@/var/maradns/maradns.log"
  16. maradns_pidfile_maradns="@l_prefix@/var/maradns/maradns.pid"
  17. maradns_pidfile_zoneserver="@l_prefix@/var/maradns/zoneserver.pid"
  18. maradns_signal () {
  19. [ -f $maradns_pidfile_maradns ] \
  20. && kill -$1 `cat $maradns_pidfile_maradns`
  21. local rc_maradns_maradns=$?
  22. [ -f $maradns_pidfile_zoneserver ] \
  23. && kill -$1 `cat $maradns_pidfile_zoneserver`
  24. local rc_maradns_zoneserver=$?
  25. [ $rc_maradns_maradns -eq 0 -o \
  26. $rc_maradns_zoneserver -eq 0 ]
  27. }
  28. %status -u @l_susr@ -o
  29. maradns_usable="unknown"
  30. maradns_active="no"
  31. rcService maradns enable yes && \
  32. maradns_signal 0 && maradns_active="yes"
  33. echo "maradns_enable=\"$maradns_enable\""
  34. echo "maradns_usable=\"$maradns_usable\""
  35. echo "maradns_active=\"$maradns_active\""
  36. %start -u @l_susr@
  37. rcService maradns enable yes || exit 0
  38. rcService maradns active yes && exit 0
  39. touch $maradns_logfile
  40. chown @l_rusr@:@l_rgrp@ $maradns_logfile
  41. for daemon in $maradns_daemons; do
  42. ( nohup @l_prefix@/sbin/$daemon -f ${maradns_cfgfile} \
  43. </dev/null >>$maradns_logfile 2>&1 &
  44. eval "echo \$! >\$maradns_pidfile_$daemon"
  45. ) >/dev/null 2>&1
  46. done
  47. %stop -u @l_susr@
  48. rcService maradns enable yes || exit 0
  49. rcService maradns active no && exit 0
  50. maradns_signal TERM
  51. sleep 2
  52. rm -f $maradns_pidfile_maradns >/dev/null 2>&1 || true
  53. rm -f $maradns_pidfile_zoneserver >/dev/null 2>&1 || true
  54. %restart -u @l_susr@
  55. rcService maradns enable yes || exit 0
  56. rcService maradns active no && exit 0
  57. rc maradns stop start
  58. %daily -u @l_susr@
  59. rcService maradns enable yes || exit 0
  60. shtool rotate -f \
  61. -n $maradns_log_numfiles -s $maradns_log_minsize -d \
  62. -z $maradns_log_complevel -m 664 -o @l_rusr@ -g @l_rgrp@ \
  63. -P "$maradns_log_prolog" \
  64. -E "$maradns_log_epilog" \
  65. $maradns_logfile