El script de Shell no puede crear una copia de seguridad de MySQL

El script de Shell no puede crear una copia de seguridad de MySQL

Quiero crear un script de shell para realizar una copia de seguridad automática de la base de datos MySQL. Luego lo copiaré en un depósito s3.

He creado el siguiente script de shell:

#vim /home/ubuntu/backup/mysqlbackup.sh

#!/bin/bash
## Specify the name of the database that you want to backupbackup

# Database credentials
USER="user1"
PASSWORD="password"
HOST="hostname.compute.amazonaws.com"
DB_NAME="db1"

#Backup_Directory_Locations
BACKUPROOT="/home/ubuntu/backup"
TSTAMP=$(date +"%d-%b-%Y-%H-%M-%S")
S3BUCKET="s3://s3bucket"
#LOG_FILE="/home/ubuntu/backup/log/dump.log"

mysqldump  -h <HOST>  -u <USER>  --database <DB_NAME>  -p"$PASSWORD" > $BACKUPROOT/$DB_NAME-$TSTAMP.sql

Luego, desde la línea de comando, ejecuto el script:

sudo bash -x ./mysqlbackup.sh

Y falla diciéndome:

HOST: No existe tal archivo o directorio

ingrese la descripción de la imagen aquí

Respuesta1

<HOST>. <DB_NAME>etc, son sólo marcadores de posición.

Deberían ser reemplazados por cadenas reales o expansiones de variables de shell "$HOST", "$DB_NAME"etc., tal como lo hizo con-p"$PASSWORD"

El mensaje de error se debe a que <y >son operadores de redirección.

información relacionada