bootstrap.sh 745 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/bash
  2. if [[ "${SKIP_CLAMD}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
  3. echo "SKIP_CLAMD=y, skipping ClamAV..."
  4. sleep 365d
  5. exit 0
  6. fi
  7. # Create log pipes
  8. touch /var/log/clamav/clamd.log /var/log/clamav/freshclam.log
  9. mkfifo -m 600 /tmp/logpipe_clamd
  10. mkfifo -m 600 /tmp/logpipe_freshclam
  11. chown -R clamav:clamav /var/log/clamav/ /tmp/logpipe_*
  12. cat <> /tmp/logpipe_clamd 1>&2 &
  13. cat <> /tmp/logpipe_freshclam 1>&2 &
  14. # Prepare
  15. BACKGROUND_TASKS=()
  16. freshclam -d &
  17. BACKGROUND_TASKS+=($!)
  18. clamd &
  19. BACKGROUND_TASKS+=($!)
  20. while true; do
  21. for bg_task in ${BACKGROUND_TASKS[*]}; do
  22. if ! kill -0 ${bg_task} 1>&2; then
  23. echo "Worker ${bg_task} died, stopping container waiting for respawn..."
  24. kill -TERM 1
  25. fi
  26. sleep 10
  27. done
  28. done