シェルスクリプトがMySQLバックアップの作成に失敗する

シェルスクリプトがMySQLバックアップの作成に失敗する

MySQL DB を自動的にバックアップするシェル スクリプトを作成したいと思います。後でそれを s3 バケットにコピーします。

次のシェル スクリプトを作成しました。

#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

次に、コマンドラインからスクリプトを実行します。

sudo bash -x ./mysqlbackup.sh

そして失敗し、次のように表示されます。

ホスト: そのようなファイルまたはディレクトリはありません

ここに画像の説明を入力してください

答え1

<HOST>.<DB_NAME>などは単なるプレースホルダーです。

これらは、実際の文字列やシェル変数の展開などに置き換えられます"$HOST""$DB_NAME"-p"$PASSWORD"

エラー メッセージは<、 と が>リダイレクト演算子であるためです。

関連情報