需要帮助修复我的 Bash 脚本

需要帮助修复我的 Bash 脚本

我是 bash 脚本的新手,我尝试编写一个 bash 脚本来运行 mysql 的两种备份过程,第一种是将所有 mysql 数据库转储到单个转储文件中,另一种是将每个数据库备份到单个文件中,我搜索了一些编写 bash 脚本的技巧,结果如下所示,但似乎没有按我的预期工作,我尝试执行脚本但什么也没发生,很高兴有人能帮我修复它。

/bin/bash #!/bin/bash

时间戳=$(日期“+%d-%m-%Y”)
备份目录="/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 | 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”|gzip>“$BACKUP_DIR/all_users/$TIMESTAMP/$db.gz”
完毕
}

答案1

/bin/bash #!/bin/bash

时间戳=$(日期“+%d-%m-%Y”)
备份目录="/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 | 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”|gzip>“$BACKUP_DIR/all_users/$TIMESTAMP/$db.gz”
完毕
}

您需要调用该函数

backup_all_dump

您需要调用该函数

backup_all_users

相关内容