Shell 腳本無法建立 mysql 備份

Shell 腳本無法建立 mysql 備份

我想建立一個 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

然後從命令列運行腳本:

sudo bash -x ./mysqlbackup.sh

它失敗了,告訴我:

HOST:沒有這樣的檔案或目錄

在此輸入影像描述

答案1

<HOST><DB_NAME>等等,只是佔位符。

它們應該被實際的字串或 shell 變數擴展等替換"$HOST"-就像您所做的那樣"$DB_NAME"-p"$PASSWORD"

該錯誤訊息是因為<>是重定向運算子。

相關內容