Ejemplo de scripts para lanzar tareas con crontab
Copias de seguridad
#!/bin/bash
# Directorio origen (todo tu home)
ORIGEN="$HOME"
# Carpeta destino (puedes cambiarla si quieres otra ubicación)
DESTINO="$HOME/backup"
# Crear la carpeta de destino si no existe
mkdir -p "$DESTINO"
# Nombre del archivo de backup con fecha
ARCHIVO="backup_home_$(date +%F_%H-%M-%S).tar.gz"
# Crear el backup
tar -czf "$DESTINO/$ARCHIVO" "$ORIGEN"
echo "Copia de seguridad completa creada en: $DESTINO/$ARCHIVO"
Ejemplo para comprobar si un servicio está activo
#!/bin/bash
if systemctl is-active --quiet ssh; then
echo "El servicio SSH está activo"
else
echo "SSH no está activo"
fi
Verificar si un programa está funcionando por nombre
pidof firefox
if [[ $? == 0 ]]; then
echo "firefox está abierto"
else
echo "firefox está cerrada"
fi
Abrir o cerrar un programa por nombre
pidof firefox
if [[ $? == 0 ]]; then
echo "firefox está abierto, lo cerramos"
pkill -9 firefox
else
echo "firefox está cerrada, lo abrimos"
firefox marca.com
fi
Tarea 1: Control de Usuario (firefox y calculadora)
Objetivo
Comprobar si el navegador Firefox está abierto y actuar en consecuencia:
-
Si Firefox está abierto:
- Mostrar un aviso al usuario: "No puedes estar navegando en esta franja horaria".
- Cerrar Firefox automáticamente.
- Abrir la calculadora y mostrar un mensaje motivador
-
Si Firefox está cerrado y la calculadora también:
- Abrir la calculadora.
- Mostrar el mensaje motivador.
-
Si Firefox está cerrado y la calculadora está abierta:
- Mostrar el mensaje: "Ya has trabajado suficiente por hoy".
- Cerrar la calculadora.
- Abrir Firefox.
Tarea 2: Copia de seguridad de proyectos
Objetivo
-
Crear las carpetas necesarias si no existen:
$HOME/proyectos$HOME/copias
-
Realizar una copia de seguridad de la carpeta
proyectoshacia una ruta pasada como parámetro. -
Mostrar una notificación al terminar la copia.
-
Abrir el explorador de archivos en la carpeta de copias.
Recomendaciones
- Asegúrate de que los scripts sean ejecutables:
chmod +x control_usuario.sh
chmod +x backup_proyectos.sh
- Usa rutas absolutas en los scripts y en
crontab. - Utiliza
crontab -epara editar ycrontab -epara verificar las entradas de tarea. - Mantener el archivo del
crontrablo más limpio posible.