Script monitorizar arranque del PC

En ocasiones, cuando no estas en casa, es interesante saber cuando alguien enciende nuestro equipo. Esto puede ser de utilidad para controlar cuando se conectan nuestros hijos a Internet, por si te roban la computadora,  hay algún reinicio inesperado etc etc

El siguiente script nos avisará por correo electrónico de cuando un PC se inicia y se conecta a Internet. 

Nos informa de la hora a la que se enciende el pc, el nombre de la máquina, la dirección IP, tanto interna como pública etc.

Estando en nuestro directorio principal, o sea en nuestra home, en una terminal escribe:

sudo nano Arranque.sh

Copia y pega el siguiente código en un archivo de texto con el nombre Arranque y la extensión sh

#!/bin/bash
#https://chapuboot.blogspot.com/

file_informacion="/home/mi_usuario/info_pc"

#Definir variables de datos PC

fecha_hora=$(date)
red_local=$(hostname -I)
#IP_PUBLICA=$(curl -silent -L http://checkip.amazonaws.com|tail -n 1)
IP_PUBLICA=$(curl ifconfig.me 2> /dev/null)
datos_equipo=$(hostname)
version=$(cat /etc/debian_version)

#carga los datos en el archivo info

echo Fecha y Hora$fecha_hora >$file_informacion
echo Datos del Host$datos_equipo >> $file_informacion  
echo Dirección IP Local$red_local >> $file_informacion
echo Dirección IP Pública$IP_PUBLICA >> $file_informacion
echo Debian version $version >> $file_informacion

#envía los datos por correo electrónico

mail -s "Inicio Mi PC ( `date` )" tu_email@gmail.com < $file_informacion

En el script debes de cambiar:

  • 1- El usuario 
  • 2- El asunto del mensaje (o deja el que está)
  • 3- La dirección de correo electrónico por la que vayas a usar.

Hacemos el script ejecutable con el siguiente comando:

chmod +x Arranque.sh

2- Instalar ssmtp y configurar la cuenta de correo.

SSMTP es un programa que entrega correo electrónico desde un ordenador local a un servidor de correo, su uso principal es reenviar el correo electrónico automatizado (como las alertas del sistema) desde un equipo a una dirección de correo electrónico externa.

Para instalar lo necesario basta con escribir el siguiente comando en una terminal:

sudo apt install ssmtp  mailutils  curl -y

 Para configurar el programa editamos su archivo ssmtp.conf 

sudo nano /etc/ssmtp/ssmtp.conf

Rellenamos la línea root con tu dirección de correo

root=tu_correo@gmail.com

Rellenamos la línea mailhub con el smtp de gmail

mailhub=smtp.gmail.com:587

Descomentamos la línea FromLineOverride

FromLineOverride=YES

Añadimos a continuación las siguientes líneas

AuthUser=tu_correo@gmail.com
AuthPass=tucontraseñasinespacios
UseSTARTTLS=YES

Tengo que aclarar que la contraseña de AuthPass no es la contraseña de tu cuenta de Gmail.

Yo voy a usar una cuenta Gmail, que tiene activada la verificación en dos pasos, la cual ya no tiene la opción de «acceso a aplicaciones poco seguras»(necesaria para aplicaciones de terceros),  Por esta razón deberemos crear una contraseña única en el apartado «Contraseñas de Aplicaciones»

Para obtenerla deberás ir a la Configuración de tu cuenta, Seguridad

Se generará una contraseña de 15 dígitos que será la que usarás para configurar el apartado de AuthPass.

**Ojo, la contraseña se usa sin los espacios, aunque te la muestra con espacios entre dígitos, hay que pegarla sin los espacios **

¡¡Vamos a probarlo!!

Para saber si funciona tecleamos el siguiente comando en consola.

echo "Testing...1...2...3" | ssmtp mi_email@gmail.com

No deberá arrojar ningún error y si vamos a nuestra bandeja de entrada, veremos que tenemos un nuevo email.

Para saber que está funcionando el script, en una terminal escribimos el siguiente comando.

./Arranque.sh

Al hacerlo revisa la bandeja de entrada.

3- Automatizar la tarea.

Vamos a hacer que el script Arranque.sh se ejecute al arrancar la computadora.

Crearemos un archivo Crontab, así que desde la terminal ejecutamos el siguiente comando:

crontab -e

Dentro pegaremos la siguiente instrucción:

@reboot ~/Arranque.sh >> ~/Arranque.log 2>&1

Ahora cada vez que se inicie el PC te informará por correo electrónico.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio