O script Shell falha ao criar um backup do MySQL

O script Shell falha ao criar um backup do MySQL

Quero criar um script de shell para fazer backup automático do banco de dados MySQL. Mais tarde, irei copiá-lo para um bucket s3.

Eu criei o seguinte 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

Então, na linha de comando, executo o script:

sudo bash -x ./mysqlbackup.sh

E falha, me dizendo:

HOST: Esse arquivo ou diretório não existe

insira a descrição da imagem aqui

Responder1

<HOST>. <DB_NAME>etc, são apenas espaços reservados.

Eles devem ser substituídos por strings reais ou expansões de variáveis ​​de shell "$HOST", "$DB_NAME"e assim por diante - assim como você fez com-p"$PASSWORD"

A mensagem de erro é porque <e >são operadores de redirecionamento.

informação relacionada