rc.clamav 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #!@l_prefix@/bin/openpkg rc
  2. ##
  3. ## rc.clamav -- Run-Commands
  4. ##
  5. %config
  6. clamav_enable="$openpkg_rc_def"
  7. clamav_update="daily"
  8. clamav_log_prolog="true"
  9. clamav_log_epilog="true"
  10. clamav_log_numfiles="10"
  11. clamav_log_minsize="1M"
  12. clamav_log_complevel="9"
  13. %common
  14. clamav_cfgfile="@l_prefix@/etc/clamav/clamd.conf"
  15. clamav_pidfile="@l_prefix@/var/clamav/clamd.pid"
  16. clamav_signal () {
  17. [ -f $clamav_pidfile ] && kill -$1 `cat $clamav_pidfile`
  18. }
  19. %status -u @l_rusr@ -o
  20. clamav_usable="unknown"
  21. clamav_active="no"
  22. rcService clamav enable yes && \
  23. clamav_signal 0 && clamav_active="yes"
  24. echo "clamav_enable=\"$clamav_enable\""
  25. echo "clamav_usable=\"$clamav_usable\""
  26. echo "clamav_active=\"$clamav_active\""
  27. %start -u @l_rusr@
  28. rcService clamav enable yes || exit 0
  29. rcService clamav active yes && exit 0
  30. @l_prefix@/sbin/clamd --config-file=$clamav_cfgfile
  31. %stop -u @l_rusr@
  32. rcService clamav enable yes || exit 0
  33. rcService clamav active no && exit 0
  34. clamav_signal TERM
  35. rm -f $clamav_pidfile 2>/dev/null || true
  36. %restart -u @l_rusr@
  37. rcService clamav enable yes || exit 0
  38. rcService clamav active no && exit 0
  39. rc clamav stop
  40. sleep 2
  41. rc clamav start
  42. %quarterly -u @l_rusr@
  43. rcService clamav enable yes || exit 0
  44. if [ ".$clamav_update" = .quarterly ]; then
  45. @l_prefix@/bin/freshclam
  46. if [ $? -ge 10 ]; then exit $?; fi
  47. fi
  48. %hourly -u @l_rusr@
  49. rcService clamav enable yes || exit 0
  50. if [ ".$clamav_update" = .hourly ]; then
  51. @l_prefix@/bin/freshclam
  52. if [ $? -ge 10 ]; then exit $?; fi
  53. fi
  54. %daily -u @l_rusr@
  55. rcService clamav enable yes || exit 0
  56. shtool rotate -f \
  57. -n ${clamav_log_numfiles} -s ${clamav_log_minsize} -d \
  58. -z ${clamav_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
  59. -P "${clamav_log_prolog}" \
  60. -E "${clamav_log_epilog}; rc clamav restart" \
  61. @l_prefix@/var/clamav/clamd.log
  62. shtool rotate -f \
  63. -n ${clamav_log_numfiles} -s ${clamav_log_minsize} -d \
  64. -z ${clamav_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
  65. -P "${clamav_log_prolog}" \
  66. -E "${clamav_log_epilog}; rc clamav restart" \
  67. @l_prefix@/var/clamav/freshclam.log
  68. if [ ".$clamav_update" = .daily ]; then
  69. @l_prefix@/bin/freshclam
  70. if [ $? -ge 10 ]; then exit $?; fi
  71. fi
  72. %weekly -u @l_rusr@
  73. rcService clamav enable yes || exit 0
  74. if [ ".$clamav_update" = .weekly ]; then
  75. @l_prefix@/bin/freshclam
  76. if [ $? -ge 10 ]; then exit $?; fi
  77. fi