Я хочу создать сценарий оболочки для автоматического резервного копирования базы данных MySQL. Я позже скопирую его в ведро 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
И он не работает, сообщая мне:
ВЕДУЩИЙ: Нет такого файла или каталога
blockquote>
<HOST>
. <DB_NAME>
и т. Д., Просто заполнители.
Они должны быть заменены фактическими строками или расширениями переменных оболочки "$HOST"
, "$DB_NAME"
и т. Д. - так же, как вы сделали с -p"$PASSWORD"
Сообщение об ошибке, потому что <
и [ 116] являются операторами перенаправления.