bootstrap.sh 712 B

123456789101112131415161718192021222324252627282930313233343536373839
  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 -p /var/log/clamav
  9. touch /var/log/clamav/clamd.log /var/log/clamav/freshclam.log
  10. chown -R clamav:clamav /var/log/clamav/
  11. chown root:tty /dev/console
  12. chmod g+rw /dev/console
  13. # Prepare
  14. BACKGROUND_TASKS=()
  15. (
  16. while true; do
  17. sleep 1m
  18. freshclam
  19. sleep 1h
  20. done
  21. ) &
  22. BACKGROUND_TASKS+=($!)
  23. clamd &
  24. BACKGROUND_TASKS+=($!)
  25. while true; do
  26. for bg_task in ${BACKGROUND_TASKS[*]}; do
  27. if ! kill -0 ${bg_task} 1>&2; then
  28. echo "Worker ${bg_task} died, stopping container waiting for respawn..."
  29. kill -TERM 1
  30. fi
  31. sleep 10
  32. done
  33. done