123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #!/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
|