bootstrap.sh 767 B

1234567891011121314151617181920212223242526272829303132333435
  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. mkdir /var/log/clamav
  9. touch /var/log/clamav/clamd.log /var/log/clamav/freshclam.log
  10. mkfifo -m 600 /tmp/logpipe_clamd
  11. mkfifo -m 600 /tmp/logpipe_freshclam
  12. chown -R clamav:clamav /var/log/clamav/ /tmp/logpipe_*
  13. cat <> /tmp/logpipe_clamd 1>&2 &
  14. cat <> /tmp/logpipe_freshclam 1>&2 &
  15. # Prepare
  16. BACKGROUND_TASKS=()
  17. freshclam -d &
  18. BACKGROUND_TASKS+=($!)
  19. clamd &
  20. BACKGROUND_TASKS+=($!)
  21. while true; do
  22. for bg_task in ${BACKGROUND_TASKS[*]}; do
  23. if ! kill -0 ${bg_task} 1>&2; then
  24. echo "Worker ${bg_task} died, stopping container waiting for respawn..."
  25. kill -TERM 1
  26. fi
  27. sleep 10
  28. done
  29. done