#!/bin/bash set -euo pipefail SCAN_DIR="<%= @cv_scan_dir %>" LOG_FILE="<%= @cv_logfile %>" TMP_ALERT="<%= @cv_alert_file %>" EMAIL="<%= @cv_alert_email %>" # Ensure the log directory exists mkdir -p "$(dirname "$LOG_FILE")" # Preferred: clamdscan with multiscan + fdpass clamdscan --multiscan --fdpass --infected --log="$LOG_FILE" "$SCAN_DIR" > /dev/null || true # Check for infections (same logic as before) if grep -q "Infected files: [^0]" "$LOG_FILE" 2>/dev/null; then { echo "ClamAV has found infected files on $(hostname)!" echo "" grep "FOUND" "$LOG_FILE" || true } > "$TMP_ALERT" mail -s "⚠️ ClamAV Alert on $(hostname)" "$EMAIL" < "$TMP_ALERT" fi rm -f "$TMP_ALERT"