#!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin PHP_NAME=$1 DATE=$(date +%F_%T) WWWROOT=/usr/local/nginx/html/$PHP_NAME BACKUP_DIR=/data/phpcode_backup [ ! -d $BACKUP_DIR ] && mkdir -p $BACKUP_DIR WORK_DIR=/tmp PROJECT_NAME=php-demo # 拉取代码 cd $WORK_DIR if [ ! -d $PROJECT_NAME ]; then git clone https://github.com/lizhenliang/php-demo else cd $PROJECT_NAME git pull fi # 部署 [ -d $WWWROOT ] && mv $WWWROOT $BACKUP_DIR/${PHP_NAME}$DATE mkdir -p $WWWROOT rsync -avz --exclude=.git $WORK_DIR/$PROJECT_NAME/* $WWWROOT chown -R nginx.nginx $WWWROOT # USAGE # php、nginx、mysql 环境 # bash <脚本> <部署的 php 项目名称> # 例:bash 16PublishPhpProjectsAutomatically.sh test_php # test_php:/usr/local/nginx/html/test_php/ # 后台运行:nohup bash 16PublishPhpProjectsAutomatically.sh test_php > php_out.txt 2>&1 & # 访问:http://<IP>/test_php/