#!/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 # 定义要检查的目录路径 FROM_DIR="/usr/local/wwwroot/" DIR_TO_CHECK=$FROM_DIR$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 ############# ## 备份代码 ## ############ # 目录存在,执行移动操作 cd $FROM_DIR echo "开始打包项目到$TARGET_DIR$SITE_CODE.tar.gz" sudo tar -czf $TARGET_DIR$SITE_CODE.tar.gz $SITE_CODE # 检查移动操作是否成功 if [ $? -eq 0 ]; then echo "目标项目已经成功打包到$TARGET_DIR$SITE_CODE.tar.gz" sudo rm -rf $DIR_TO_CHECK if [ $? -eq 0 ]; then echo "打包后删除该项目目录$SITE_CODE" fi 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 # 删除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 "remove nginx $SITE_CODE config and log file" # 目录不存在,输出指定内容 echo "The specified directory does not exist." fi