Cómo generar estadísticas informáticas y enviarlas por correo electrónico automáticamente

Jan 23, 2025
Nube e Internet
CONTENIDO NO CUBIERTO

Es importante verificar varios datos de registro y estadísticas en su servidor todos los días, pero se vuelve tedioso. ¿No sería bueno recibir un solo correo electrónico con todos los aspectos destacados cada día, por lo que ni siquiera necesita ingresar al servidor para verificar si hay problemas? Esta guía le mostrará cómo configurar correos electrónicos automatizados en Linux y Windows.

Cubriremos esto específicamente para Ubuntu y Windows 8.1, con Gmail como el servidor de correo electrónico desde el que se envía el correo. Si tiene otra versión de Linux o Windows, o prefiere usar algún otro servicio de correo electrónico, las instrucciones aquí deberían ser fácilmente adaptables.

Correos electrónicos automatizados en Linux

Vamos a usar dos paquetes diferentes para lograr esto, ssmtp y mailutils, así que instálelos con el siguiente comando:

$ sudo apt-get install ssmtp mailutils

Una vez instalados, debemos realizar algunos cambios en el archivo de configuración SSMTP:

$ sudo vi /etc/ssmtp/ssmtp.conf

Edite el archivo con estos cambios (es seguro borrar todo el texto en el archivo y copiar / pegar esta configuración, si lo desea):

# Esta dirección recibirá los correos electrónicos, así que ingrese su propio correo electrónico aquí si desea recibirlos.

[email protected]

# Especifique el servidor de correo electrónico aquí (déjelo como está si está usando Gmail).

mailhub = smtp.gmail.com: 587

# El nombre de dominio del que procederá el correo.

rewriteDomain = gmail.com

# La dirección de correo electrónico a la que pertenecen estos correos electrónicos.

[email protected]

# Configuración de SSL / TLS, necesaria para Gmail y la mayoría de los demás servidores de correo.

UseTLS = Sí

UseSTARTTLS = Sí

# El nombre de usuario y la contraseña de su cuenta de Gmail.

AuthUser = nombre de usuario

AuthPass = contraseña

# Permitir la capacidad de especificar una dirección de remitente diferente a la anterior.

FromLineOverride = sí

Cuando haya terminado de editar el archivo, querrá cambiar los permisos ya que su contraseña de Gmail se almacena en texto sin formato.

$ sudo chmod 640 /etc/ssmtp/ssmtp.conf

$ sudo chown username.username /etc/ssmtp/ssmtp.conf

Siempre es más seguro hacer que root sea el propietario del archivo, pero luego tendríamos que usar el comando sudo en nuestro script y nos solicitaría una contraseña, frustrando así el propósito de automatizar todo este proceso.

Si está utilizando un servidor compartido y le preocupa que su contraseña se almacene en texto plano y sea legible por root, cree una cuenta de Gmail desechable o use un servidor de correo electrónico que no requiera ningún tipo de autenticación en primer lugar.

Para asegurarnos de que todo esté configurado correctamente, intentemos un correo electrónico de prueba:

$ echo "Prueba" | mail -s "Probar configuración de correo" [email protected]

"Probando" estará en el cuerpo del correo electrónico y el asunto será "Probando la configuración del correo". Revise su correo electrónico para asegurarse de haberlo recibido.

Escribir un guión para los correos electrónicos

Ahora que podemos enviar correos electrónicos desde la línea de comandos, escribamos un script que nos envíe información básica sobre nuestro sistema.

#! / Bin / Bash

# Verifique el espacio en el disco duro

echo "Espacio en el disco duro:"> /home/geek/email.txt

df -h >> /home/geek/email.txt

# Enumere los usuarios que están conectados

echo "Usuarios actualmente conectados:" >> /home/geek/email.txt

quién >> /home/geek/email.txt

# Lista de procesos actualmente en ejecución

echo "Procesos en ejecución:" >> /home/geek/email.txt

ps -e >> /home/geek/email.txt

# Envía el correo electrónico

cat /home/geek/email.txt | mail -s "Información diaria del servidor" [email protected]

# Elimina el archivo que creamos

rm /home/geek/email.txt

Obviamente, puede profundizar mucho más con su script e incluso hacer que el formato sea un poco más agradable, pero así es como se ve la salida en nuestro correo electrónico:

Ahora que el script está escrito y probado, podemos usar cron para ejecutarlo automáticamente a la misma hora todos los días. En este ejemplo, configuraremos el correo electrónico para que se envíe a las 2:00 a. M. Cada mañana, de modo que podamos revisar los datos más tarde ese día.

$ crontab -e

Para los correos electrónicos de las 2:00 a.m., agregue:

0 2 * * * /home/geek/script.sh

Hemos escrito un artículo completo sobre archivos crontab si necesita más ayuda con esta parte.

Correos electrónicos automatizados en Windows

Es posible enviar correos electrónicos en la línea de comandos a través de PowerShell, pero hemos descubierto que implementar esta funcionalidad es mucho más fácil con aplicaciones de terceros, especialmente cuando se usa Gmail. Enviar correo electrónico es un programa gratuito disponible para Windows que facilita la integración con el Programador de tareas de Windows y Gmail. Haga clic en el enlace de arriba para descargar la última copia y asegúrese de obtener la versión compatible con TLS.

Una vez que haya descargado SendEmail, extraiga el archivo zip y coloque el contenido en algún lugar donde pueda almacenarlo durante el tiempo que planea enviar correos electrónicos automáticos. En este ejemplo, simplemente vamos a almacenar el programa en C: \ SendEmail

Probemos SendEmail para tener una idea rápida de cómo funciona. Abra un símbolo del sistema escribiendo cmd en el menú Inicio o Ejecutar (Ctrl + R).

Con el símbolo del sistema abierto, use el comando de cambio de directorio para navegar hasta donde almacenó los archivos de SendEmail.

cd C: \ Enviar correo electrónico

Ahora podemos intentar enviar un correo electrónico de prueba con el siguiente comando:

sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u "Asunto del correo electrónico de prueba" -m "Este es un correo electrónico de prueba".

Obviamente, reemplace "nombre de usuario" y "contraseña" con las credenciales de su cuenta antes de ejecutar el comando.

Esto es lo que realmente hace el comando anterior:

enviar correo electrónico ejecuta el programa.

-F - de la Dirección

-t - dirigirse

-s - Servidor SMTP

-moneda - nombre de usuario

-xp - contraseña de la cuenta

-u - asunto del email

-metro - texto del cuerpo del correo electrónico

Revise su bandeja de entrada para asegurarse de que recibió el correo electrónico de prueba y luego podemos pasar a escribir un script que nos enviará la información del servidor.

Escribir un guión para los correos electrónicos

Para aprovechar al máximo nuestro script, lo escribiremos para PowerShell. Abra Windows PowerShell ISE escribiendo powershell_ise.exe en el indicador Ejecutar (Ctrl + R).

En el lado derecho de la ventana de PowerShell ISE, puede enumerar todos los comandos que PowerShell es capaz de ejecutar. Esto debería darle un buen comienzo para generar los tipos de información que necesita reportar. En su secuencia de comandos, también puede llamar a programas de terceros para generar información (es decir, SendEmail es una aplicación de terceros, pero PowerShell y cmd pueden usarla para realizar tareas que normalmente no pueden).

Para nuestro script de ejemplo, verificaremos el uso actual del disco de la unidad C, mostraremos los procesos que se están ejecutando actualmente y mostraremos todos los archivos que se están compartiendo actualmente en la red.

# Verifique el espacio en el disco duro

echo "C: Uso de la unidad:"> C: \ SendEmail \ info.txt

Get-WmiObject win32_LogicalDisk -Filter "DeviceID = 'C:'" | Seleccionar tamaño de objeto, espacio libre >> C: \ SendEmail \ info.txt

# Lista de procesos actualmente en ejecución

echo "Procesos en ejecución:" >> C: \ SendEmail \ info.txt

obtener-proceso >> C: \ SendEmail \ info.txt

# Enumere los archivos / carpetas que se comparten actualmente

echo "recursos compartidos SMB:" >> C: \ SendEmail \ info.txt

get-smbshare >> C: \ SendEmail \ info.txt

# Envía el correo electrónico

escriba C: \ SendEmail \ info.txt | C: \ SendEmail \ sendEmail -f [email protected] -t [email protected] -s smtp.gmail.com:587 -xu username -xp password -u "Información diaria del servidor"

# Elimina el archivo que hicimos

rm C: \ SendEmail \ info.txt

En este script, se envía información diversa a C: \ SendEmail \ info.txt, y luego se nos envía el texto de ese documento por correo electrónico antes de que se elimine. Guarde su script con una extensión de archivo ps1 (archivo PowerShell).

Una vez finalizada la secuencia de comandos, ejecute una prueba rápida desde el indicador Ejecutar para asegurarse de que funciona correctamente.

Solo usa el potencia Shell comando con un -expediente argumento y especifique la ruta a su script.

powershell -file "c: \ SendEmail \ daily-email.ps1"

Revise su bandeja de entrada para asegurarse de que recibió el correo electrónico; de lo contrario, revise su secuencia de comandos para ver si hay errores de sintaxis. Así es como se ve el correo electrónico generado a partir de nuestro script de ejemplo:

Puede jugar con el formato (como hacer eco de líneas vacías entre el texto) para que se vea mejor en su dispositivo, o mejor aún, puede usar un programa de terceros que generará la información necesaria en un formato más legible que Windows ( el proceso de creación de secuencias de comandos seguirá siendo el mismo).

Una vez que haya resuelto los problemas en su secuencia de comandos, puede usar el Programador de tareas de Windows para automatizarlo. Abra el Programador de tareas de Windows a través del menú Inicio.

Con el Programador de tareas abierto, seleccione Acción> Crear tarea básica.

Asigne a esta tarea un nombre como "Script de correo electrónico diario" y haga clic en Siguiente. En la siguiente pantalla, seleccione la frecuencia con la que le gustaría que se ejecute su secuencia de comandos de correo electrónico, probablemente a diario. Luego, elija la hora en que desea que se ejecute el script y presione Siguiente.

Ahora debería estar en la parte "Acción" del asistente, seleccione "Iniciar un programa" e ingrese el mismo texto que ingresamos en el indicador Ejecutar anteriormente para probar nuestro script.

Presiona siguiente y luego presiona Sí en esta ventana:

Haga clic en Finalizar en el último menú y habrá terminado de programar sus correos electrónicos automáticos.

.entrada-contenido .entry-footer

Extract Random Data Automatically


Nube e Internet - Artículos más populares

Cómo canjear una tarjeta de regalo de Xbox One, PlayStation 4 o Nintendo Switch

Nube e Internet Dec 18, 2024

CONTENIDO NO CUBIERTO Si eres un ávido jugador, es muy probable que hayas recibido una tarjeta de regalo para tu consola para las vacaciones o como regalo. Poder usar esa tarjeta..


Cómo marcarse a sí mismo como "seguro" en Facebook durante una emergencia

Nube e Internet Sep 7, 2025

CONTENIDO NO CUBIERTO Siempre que haya un desastre natural, sus amigos y familiares querrán saber que está a salvo. Facebook ha tratado de hacer esto más fácil con su función..


Los comandos de chat y bot más útiles en Discord

Nube e Internet Jul 28, 2025

CONTENIDO NO CUBIERTO Al igual que el chat de IRC de antaño, Discord viene con un conjunto de comandos de barra que puede usar para expresarse o hacer cosas útiles como buscar G..


Cómo enviar archivos grandes por correo electrónico

Nube e Internet May 23, 2025

Muchos servidores de correo electrónico se niegan a aceptar archivos adjuntos de correo electrónico de un tamaño determinado. Si bien el tamaño de los archivos adjuntos no se ha..


Cómo seguir un feed de Twitter en su lector de RSS

Nube e Internet May 15, 2025

Los lectores de RSS son una excelente manera de mantenerse al tanto de las noticias. Desafortunadamente, muchos sitios se han alejado de RSS y se han limitado a publicar todos sus a..


Cómo comprobar el recuento de obturadores DSLR (y por qué debería importarle)

Nube e Internet Jul 12, 2025

No compraría un automóvil usado sin verificar cuántas millas hay en él, y no debe comprar una DSLR usada sin saber cuántos clics hay en el obturador. Siga leyendo mientras expl..


Mover la barra de pestañas de Firefox a la parte superior

Nube e Internet Mar 25, 2025

¿Preferiría tener la barra de pestañas de Firefox ubicada en la parte superior del navegador en lugar de su ubicación predeterminada? Vea lo fácil que es mover la barra de pestañas haci..


Buscar Wikipedia en Google Chrome de la manera más fácil

Nube e Internet Feb 2, 2025

CONTENIDO NO CUBIERTO ¿Necesita una forma rápida y fácil de acceder a Wikipedia mientras navega durante el día? Si es así, querrá echar un vistazo a la extensión Wiki Lookup para Goo..


Categorías