Shell 脚本无法创建 mysql 备份

Hoo*_*ini 2 mysql command-line bash

我想创建一个 shell 脚本来自动备份 MySQL DB。稍后我会将其复制到 s3 存储桶。

我创建了以下 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
Run Code Online (Sandbox Code Playgroud)

然后从命令行,我运行脚本:

sudo bash -x ./mysqlbackup.sh
Run Code Online (Sandbox Code Playgroud)

它失败了,告诉我:

主机:没有那个文件或目录

在此处输入图片说明

ste*_*ver 16

<HOST>. <DB_NAME>等等,只是占位符。

他们应该根据实际的字符串或shell变量扩展来代替"$HOST""$DB_NAME"等等-就像你有做-p"$PASSWORD"

错误消息是因为<>是重定向运算符。