Ir al contenido principal

Crons y Bash files

IntroduccionIntroducción

image.png

Los crons son acciones que puedes programar para que se ejecuten a cierte hora del diadía o de manera recurrente

Crecion de Archivos Bash

puedes crear un archivo bash donde quieras pero te recominedorecomiendo que sea un lugar que no muevas de manera recurrente para evitar problemas futuros.

Ejemplo un bash file

AquiAquí un ejemplo de comocómo crear un backup de la data de los contenedores de Docker

Abres el editor de codigocódigo 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 propieadpropiedad de "ejecutable" al archivo

sudo chmod +x /usr/local/bin/backup_dockerdata.sh

CreacionCreación del cron

Ingresa el siguiente comando, si te pide seleccionar un editor de codigocódigo eliges nano y le das en continuar (si quitas la palabra sudo, se creearacreará un cron sin permisos de administrador)

sudo crontab -e

y agregas la siguiente linealínea hasta el final,

0 3 * * * /usr/local/bin/backup_dockerdata.sh

El significado de esta linealínea es cada

  1. Minuto 0 
  2. Hora 3
  3. Todos los diasdías
  4. Todos los meses
  5. Todos los años

Ejecuta el archivo en esta ruta