#!/bin/bash #### 临时服务器自动打包项目代码和数据库到指定位置 #### Author: chenpeiqing #### Date: 2025-01-07 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" 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 fi