| Server IP : 45.162.171.154 / Your IP : 216.73.216.5 Web Server : Apache System : Linux vxct2015.avnam.net 5.4.106-1-pve #1 SMP PVE 5.4.106-1 (Fri, 19 Mar 2021 11:08:47 +0100) x86_64 User : lpg.com.ar ( 1041) PHP Version : 8.3.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/log/ |
Upload File : |
#!/bin/bash
# Mostrar la lista de archivos disponibles en el directorio
cd /var/log
echo "Vamos a mostrar las 10 cuentas de mails que mas envían."
echo "Seleccioná el archivo de log:"
file_list=$(ls /var/log | grep maillog)
select filename in $file_list; do
if [ -z "$filename" ]; then
echo "Opción inválida. Por favor, seleccioná un número de archivo válido."
else
echo "Seleccionaste el archivo: $filename"
break
fi
done
log_file="$filename"
temp_file="temp.txt"
# Extraer direcciones de correo del archivo de log con filtro "from=<"
grep -E -o 'from=<([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,})>' "$log_file" | sed -E 's/from=<(.*?)>/\1/' > "$temp_file"
# Contar la cantidad de veces que se repiten las direcciones de correo y ordenar de mayor a menor
address_counts=$(sort "$temp_file" | uniq -c | sort -rn)
# Mostrar las 10 direcciones de correo que más enviaron correos y su cantidad de repeticiones
echo "Las 10 direcciones de correo que más enviaron correos:"
echo "$address_counts" | head -n 10
# Eliminar el archivo temporal
rm "$temp_file"
exit