Crons y Bash files
Introduccion
Los crons son acciones que puedes programar para que se ejecuten a cierte hora del dia o de manera recurrente
Crecion de Archivos Bash
puedes crear un archivo bash donde quieras pero te recominedo que sea un lugar que no muevas de manera recurrente para evitar problemas futuros.
Ejemplo un bash file
Aqui un ejemplo de como crear un backup de la data de los contenedores de Docker
Abres el editor de codigo nano directamente en donde almacenaras archivo.sh
sudo nano /usr/local/bin/backup_dockerdata.sh
Pegas el contenido en el interior y guardas
#!/bin/bash
SOURCE_DIR="/dockerData"
BACKUP_DIR="/mnt/wdstorage/docker/backup"
RUNNING_CONTAINERS=$(docker ps -q)
echo "Deteniendo contenedores Docker en ejecución..."
docker stop $RUNNING_CONTAINERS
sleep 5
mkdir -p "$BACKUP_DIR"
rsync -av --delete "$SOURCE_DIR/" "$BACKUP_DIR/"
echo "Reiniciando contenedores Docker que estaban en ejecución..."
if [ -n "$RUNNING_CONTAINERS" ]; then
docker start $RUNNING_CONTAINERS
fi
le agregas la propiead de "ejecutable" al archivo
sudo chmod +x /usr/local/bin/backup_dockerdata.sh
Creacion del cron
Ingresa el siguiente comando, si te pide seleccionar un editor de codigo eliges nano y le das en continuar (si quitas la palabra sudo, se creeara un cron sin permisos de administrador)
sudo crontab -e
y agregas la siguiente linea hasta el final,
0 3 * * * /usr/local/bin/backup_dockerdata.sh
El significado de esta linea es cada
- Minuto 0
- Hora 3
- Todos los dias
- Todos los meses
- Todos los años
Ejecuta el archivo en esta ruta