rc.clamav 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/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/clamav.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. fi
  47. %hourly -u @l_rusr@
  48. rcService clamav enable yes || exit 0
  49. if [ ".$clamav_update" = .hourly ]; then
  50. @l_prefix@/bin/freshclam
  51. fi
  52. %daily -u @l_rusr@
  53. rcService clamav enable yes || exit 0
  54. if [ ".$clamav_update" = .daily ]; then
  55. @l_prefix@/bin/freshclam
  56. fi
  57. shtool rotate -f \
  58. -n ${clamav_log_numfiles} -s ${clamav_log_minsize} -d \
  59. -z ${clamav_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
  60. -P "${clamav_log_prolog}" \
  61. -E "${clamav_log_epilog}; rc clamav restart" \
  62. @l_prefix@/var/clamav/clamd.log
  63. shtool rotate -f \
  64. -n ${clamav_log_numfiles} -s ${clamav_log_minsize} -d \
  65. -z ${clamav_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
  66. -P "${clamav_log_prolog}" \
  67. -E "${clamav_log_epilog}; rc clamav restart" \
  68. @l_prefix@/var/clamav/freshclam.log
  69. %weekly -u @l_rusr@
  70. rcService clamav enable yes || exit 0
  71. if [ ".$clamav_update" = .weekly ]; then
  72. @l_prefix@/bin/freshclam
  73. fi