bak-wpsite.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/bin/bash
  2. #### 临时服务器自动打包项目代码和数据库到指定位置
  3. #### Author: chenpeiqing
  4. #### Date: 2025-01-07
  5. SITE_CODE=$1
  6. # 定义要检查的目录路径
  7. FROM_DIR="/usr/local/wwwroot/"
  8. DIR_TO_CHECK=$FROM_DIR$SITE_CODE
  9. # 定义目标目录路径
  10. TARGET_DIR="/opt/adweb3/wp_bak/"
  11. # 定义数据库连接信息
  12. RDS_HOST='127.0.0.1'
  13. RDS_ADMIN='root'
  14. RDS_PWD='Initial0_123'
  15. # 检查目录是否存在
  16. if [ -d "$DIR_TO_CHECK" ]; then
  17. #############
  18. ## 备份代码 ##
  19. ############
  20. # 目录存在,执行移动操作
  21. cd $FROM_DIR
  22. echo "开始打包项目到$TARGET_DIR$SITE_CODE.tar.gz"
  23. sudo tar -czf $TARGET_DIR$SITE_CODE.tar.gz $SITE_CODE
  24. # 检查移动操作是否成功
  25. if [ $? -eq 0 ]; then
  26. echo "目标项目已经成功打包到$TARGET_DIR$SITE_CODE.tar.gz"
  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. fi