Necesito ayuda para arreglar mi script Bash

Necesito ayuda para arreglar mi script Bash

Soy un novato en el script bash, lo que intento hacer es crear un script bash para ejecutar 2 tipos de procesos de copia de seguridad para mysql, el primero es volcar toda la base de datos mysql en un solo archivo de volcado y el otro es hacer una copia de seguridad de cada una. base de datos en un solo archivo, busco algunos consejos para crear un script bash y el resultado es el siguiente, pero parece que no funciona como esperaba, intento ejecutar el script pero no sucede nada, me alegra que alguien me ayude a solucionarlo. .

#!/bin/bash

TIMESTAMP=$(fecha "+%d-%m-%Y")
BACKUP_DIR="/nas/mysql"
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump

copia de seguridad_all_dump(){
buscar /nas/mysql/all_dump -max Depth 1 -tipo d -mtime +30 -exec rm -rf {} \;
mkdir -p "$BACKUP_DIR/all_dump/$TIMESTAMP"
  $MYSQLDUMP --force --events --todas las bases de datos | gzip > "/$BACKUP_DIR/all_dump/$TIMESTAMP/dump.sql.gz"
}

copia de seguridad_todos_usuarios(){
buscar /nas/mysql/all_users -max Depth 1 -type d -mtime +30 -exec rm -rf {} \;
mkdir -p "$BACKUP_DIR/todos_usuarios/$TIMESTAMP"
bases de datos=`$MYSQL -e "MOSTRAR BASES DE DATOS;" | grep -Ev "(Base de datos|esquema_de_información|esquema_de_rendimiento)"`
  para db en $bases de datos; hacer
  $MYSQLDUMP --force --opt --databases "$db" | gzip > "$BACKUP_DIR/todos_usuarios/$TIMESTAMP/$db.gz"
hecho
}

Respuesta1

#!/bin/bash

TIMESTAMP=$(fecha "+%d-%m-%Y")
BACKUP_DIR="/nas/mysql"
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump

copia de seguridad_all_dump(){
buscar /nas/mysql/all_dump -max Depth 1 -tipo d -mtime +30 -exec rm -rf {} \;
mkdir -p "$BACKUP_DIR/all_dump/$TIMESTAMP"
  $MYSQLDUMP --force --events --todas las bases de datos | gzip > "/$BACKUP_DIR/all_dump/$TIMESTAMP/dump.sql.gz"
}

copia de seguridad_todos_usuarios(){
buscar /nas/mysql/all_users -max Depth 1 -type d -mtime +30 -exec rm -rf {} \;
mkdir -p "$BACKUP_DIR/todos_usuarios/$TIMESTAMP"
bases de datos=`$MYSQL -e "MOSTRAR BASES DE DATOS;" | grep -Ev "(Base de datos|esquema_de_información|esquema_de_rendimiento)"`
  para db en $bases de datos; hacer
  $MYSQLDUMP --force --opt --databases "$db" | gzip > "$BACKUP_DIR/todos_usuarios/$TIMESTAMP/$db.gz"
hecho
}

Necesitas llamar a la función.

backup_all_dump

Necesitas llamar a la función.

backup_all_users

información relacionada