需要幫助來修復我的 Bash 腳本

需要幫助來修復我的 Bash 腳本

我是bash腳本的新手,我想做的是製作一個bash腳本來運行兩種mysql備份過程,第一個是將所有mysql資料庫轉儲到單一轉儲檔案中,另一個是將每個資料庫備份我將資料庫匯入到單一文件中,我四處搜尋以獲取一些製作bash 腳本的提示,結果如下,但似乎沒有按我的預期工作,我嘗試執行腳本但沒有任何反應,很高興有人幫我修復它。

#!/bin/bash

TIMESTAMP=$(日期“+%d-%m-%Y”)
BACKUP_DIR="/nas/mysql"
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump

備份全部轉儲(){
尋找/nas/mysql/all_dump -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
mkdir -p“$BACKUP_DIR/all_dump/$TIMESTAMP”
  $MYSQLDUMP --force --events --all-databases | $MYSQLDUMP --force --events --all-databases | $MYSQLDUMP --force --events --all-databases gzip >“/$BACKUP_DIR/all_dump/$TIMESTAMP/dump.sql.gz”
}

備份所有使用者(){
尋找/nas/mysql/all_users -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
mkdir -p“$BACKUP_DIR/all_users/$TIMESTAMP”
資料庫=`$MYSQL -e“顯示資料庫;” | grep -Ev「(資料庫|資訊架構|效能架構)」`
  對於 $databases 中的 db;做
  $MYSQLDUMP --force --opt --databases "$db" | $MYSQLDUMP --force --opt --databases "$db" | $MYSQLDUMP --force --opt --databases "$db" | gzip >“$BACKUP_DIR/all_users/$TIMESTAMP/$db.gz”
完畢
}

答案1

#!/bin/bash

TIMESTAMP=$(日期“+%d-%m-%Y”)
BACKUP_DIR="/nas/mysql"
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump

備份全部轉儲(){
尋找/nas/mysql/all_dump -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
mkdir -p“$BACKUP_DIR/all_dump/$TIMESTAMP”
  $MYSQLDUMP --force --events --all-databases | $MYSQLDUMP --force --events --all-databases | $MYSQLDUMP --force --events --all-databases gzip >“/$BACKUP_DIR/all_dump/$TIMESTAMP/dump.sql.gz”
}

備份所有使用者(){
尋找/nas/mysql/all_users -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
mkdir -p“$BACKUP_DIR/all_users/$TIMESTAMP”
資料庫=`$MYSQL -e“顯示資料庫;” | grep -Ev「(資料庫|資訊架構|效能架構)」`
  對於 $databases 中的 db;做
  $MYSQLDUMP --force --opt --databases "$db" | $MYSQLDUMP --force --opt --databases "$db" | $MYSQLDUMP --force --opt --databases "$db" | gzip >“$BACKUP_DIR/all_users/$TIMESTAMP/$db.gz”
完畢
}

您需要呼叫該函數

backup_all_dump

您需要呼叫該函數

backup_all_users

相關內容