#!/bin/bash
# 备份网站路径
backup_web_path="/www/backup/site"
# 备份数据库路径
backup_sql_path="/www/backup/database"
# 数据库凭据
db_user="demo11_codesdemo"
db_password="ycKT2CBD3rPJXycn"
db_name="demo11_codesdemo"
restore_website() {
# 备份文件名
website_backup="$backup_web_path/web_demo11.codesdemo.top_20230918_030548_dLUdqM.tar.gz"
# 删除原网站文件
rm -rf /www/wwwroot/demo11.codesdemo.top/*
# 还原网站文件
tar -xzf "$website_backup" -C /www/wwwroot/demo11.codesdemo.top
#移动文件
mv /www/wwwroot/demo11.codesdemo.top/demo11.codesdemo.top/* /www/wwwroot/demo11.codesdemo.top/
#删除文件夹
rm -r /www/wwwroot/demo11.codesdemo.top/demo11.codesdemo.top
}
restore_database() {
# 备份文件名
db_backup="$backup_sql_path/db_demo11_codesdemo_20230918_030539_YV6fHz.sql.gz"
# 获取所有表名
table_names=$(mysql --user="$db_user" --password="$db_password" --database="$db_name" -N -e "SHOW TABLES;")
# 逐个清除表
for table_name in $table_names; do
mysql --user="$db_user" --password="$db_password" --database="$db_name" -e "DROP TABLE IF EXISTS $table_name;"
done
# 登录到 MySQL并导入数据库
gunzip -c "$db_backup" | mysql -u "$db_user" -p"$db_password" "$db_name"
}
main() {
# 还原网站文件
restore_website
# 还原数据库
restore_database
}
# 调用主函数
main