Browse Source

新增资源删除备份脚本

chenlei1231 3 months ago
parent
commit
3dfa0b527c
1 changed files with 80 additions and 0 deletions
  1. 80 0
      remove-and-bak-wpsite.sh

+ 80 - 0
remove-and-bak-wpsite.sh

@@ -0,0 +1,80 @@
+#!/bin/bash
+
+#### Remove WP Site
+#### v3 删除该临时站点资源并将其备份到指定目录,定期删除
+#### Author: chenpeiqing
+#### Date: 2024-12-05
+#### Usage: sh remove-and-bak-wpsite.sh [SITE_CODE]
+#### 示例: sh remove-and-bak-wpsite.sh 2408210vakv9
+
+SITE_CODE=$1
+
+# 定义要检查的目录路径
+DIR_TO_CHECK="/usr/local/wwwroot/$SITE_CODE"
+
+# 定义目标目录路径
+TARGET_DIR="/opt/adweb3/wp_bak/"
+
+# 定义数据库连接信息
+RDS_HOST='127.0.0.1'
+RDS_ADMIN='root'
+RDS_PWD='Initial0_123'
+
+# 检查目录是否存在
+if [ -d "$DIR_TO_CHECK" ]; then
+
+  #############
+  ## 备份代码 ##
+  ############
+  # 目录存在,执行移动操作
+  sudo mv "$DIR_TO_CHECK" "$TARGET_DIR"
+
+  # 检查移动操作是否成功
+  if [ $? -eq 0 ]; then
+    echo "Directory has been moved to $TARGET_DIR."
+  else
+    echo "Failed to move the directory."
+  fi
+
+  #############
+  # 备份数据库 #
+  ############
+
+  mysqldump --user=$RDS_ADMIN --password=$RDS_PWD --host=localhost --port=3306 --no-create-db --default-character-set=utf8 $SITE_CODE > $TARGET_DIR$SITE_CODE.sql
+
+  # 检查 MySQL 命令是否成功执行
+  if [ $? -eq 0 ]; then
+    echo "Database $SITE_CODE has been backup."
+  else
+    echo "Failed to backup database $SITE_CODE."
+  fi
+
+
+   #############
+   # 删除数据库 #
+   ############
+  mysql -u $RDS_ADMIN -p$RDS_PWD -e "DROP DATABASE $SITE_CODE;"
+
+  # 检查 MySQL 命令是否成功执行
+  if [ $? -eq 0 ]; then
+    echo "Database $SITE_CODE has been deleted."
+  else
+    echo "Failed to delete database $SITE_CODE."
+  fi
+
+
+  # 删除nginx 配置文件 #
+  sudo rm -f /usr/local/openresty/nginx/vhost/$SITE_CODE.conf
+
+  # 删除nginx 站点日志文件 #
+  sudo rm -f /usr/local/openresty/nginx/logs/$SITE_CODE.error.log
+  sudo rm -f /usr/local/openresty/nginx/logs/$SITE_CODE.access.log
+
+  echo "reload nginx config"
+  /usr/local/openresty/nginx/sbin/nginx -s reload
+  echo "reload nginx config done!"
+
+else
+  # 目录不存在,输出指定内容
+  echo "The specified directory does not exist."
+fi