remove-and-bak-wpsite.sh 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #!/bin/bash
  2. #### Remove WP Site
  3. #### v3 删除该临时站点资源并将其备份到指定目录,定期删除
  4. #### Author: chenpeiqing
  5. #### Date: 2024-12-05
  6. #### Usage: sh remove-and-bak-wpsite.sh [SITE_CODE]
  7. #### 示例: sh remove-and-bak-wpsite.sh 2408210vakv9
  8. SITE_CODE=$1
  9. # 定义要检查的目录路径
  10. DIR_TO_CHECK="/usr/local/wwwroot/$SITE_CODE"
  11. # 定义目标目录路径
  12. TARGET_DIR="/opt/adweb3/wp_bak/"
  13. # 定义数据库连接信息
  14. RDS_HOST='127.0.0.1'
  15. RDS_ADMIN='root'
  16. RDS_PWD='Initial0_123'
  17. # 检查目录是否存在
  18. if [ -d "$DIR_TO_CHECK" ]; then
  19. #############
  20. ## 备份代码 ##
  21. ############
  22. # 目录存在,执行移动操作
  23. sudo mv "$DIR_TO_CHECK" "$TARGET_DIR"
  24. # 检查移动操作是否成功
  25. if [ $? -eq 0 ]; then
  26. echo "Directory has been moved to $TARGET_DIR."
  27. else
  28. echo "Failed to move the directory."
  29. fi
  30. #############
  31. # 备份数据库 #
  32. ############
  33. 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
  34. # 检查 MySQL 命令是否成功执行
  35. if [ $? -eq 0 ]; then
  36. echo "Database $SITE_CODE has been backup."
  37. else
  38. echo "Failed to backup database $SITE_CODE."
  39. fi
  40. #############
  41. # 删除数据库 #
  42. ############
  43. mysql -u $RDS_ADMIN -p$RDS_PWD -e "DROP DATABASE $SITE_CODE;"
  44. # 检查 MySQL 命令是否成功执行
  45. if [ $? -eq 0 ]; then
  46. echo "Database $SITE_CODE has been deleted."
  47. else
  48. echo "Failed to delete database $SITE_CODE."
  49. fi
  50. # 删除nginx 配置文件 #
  51. sudo rm -f /usr/local/openresty/nginx/vhost/$SITE_CODE.conf
  52. # 删除nginx 站点日志文件 #
  53. sudo rm -f /usr/local/openresty/nginx/logs/$SITE_CODE.error.log
  54. sudo rm -f /usr/local/openresty/nginx/logs/$SITE_CODE.access.log
  55. echo "reload nginx config"
  56. /usr/local/openresty/nginx/sbin/nginx -s reload
  57. echo "reload nginx config done!"
  58. else
  59. # 删除nginx 配置文件 #
  60. sudo rm -f /usr/local/openresty/nginx/vhost/$SITE_CODE.conf
  61. # 删除nginx 站点日志文件 #
  62. sudo rm -f /usr/local/openresty/nginx/logs/$SITE_CODE.error.log
  63. sudo rm -f /usr/local/openresty/nginx/logs/$SITE_CODE.access.log
  64. echo "remove nginx $SITE_CODE config and log file"
  65. # 目录不存在,输出指定内容
  66. echo "The specified directory does not exist."
  67. fi