mirror of
https://ghproxy.net/https://github.com/fairpm/server.git
synced 2025-09-06 17:26:55 +08:00
44 lines
1 KiB
Bash
44 lines
1 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||
|
cd "$SCRIPT_DIR/.."
|
||
|
|
||
|
# If rsync is not installed, install it
|
||
|
if ! command -v rsync &> /dev/null; then
|
||
|
echo "Installing rsync"
|
||
|
apt update
|
||
|
apt install -y rsync
|
||
|
fi
|
||
|
|
||
|
# Check if DEPLOY_USER, DEPLOY_HOST, and DEPLOY_PASS are set
|
||
|
if [[ -z "$DEPLOY_USER" || -z "$DEPLOY_HOST" || -z "$DEPLOY_PASS" ]]; then
|
||
|
echo "Error: DEPLOY_USER, DEPLOY_HOST, and DEPLOY_PASS must be set."
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# Force SSH to pull our password from the env var.
|
||
|
export SSH_ASKPASS='./bin/sshpass.sh'
|
||
|
export SSH_ASKPASS_REQUIRE='force'
|
||
|
|
||
|
# Check if --apply is passed as an argument
|
||
|
if [[ "$1" == "--apply" ]]; then
|
||
|
DRY_RUN=""
|
||
|
else
|
||
|
DRY_RUN="--dry-run"
|
||
|
fi
|
||
|
|
||
|
pwd
|
||
|
echo -n "Starting sync"
|
||
|
if [ -n "$DRY_RUN" ]; then
|
||
|
echo " (dry run)"
|
||
|
else
|
||
|
echo " (APPLYING)"
|
||
|
fi
|
||
|
rsync \
|
||
|
-e "ssh -o StrictHostKeyChecking=no" \
|
||
|
-avz \
|
||
|
--progress \
|
||
|
--delete $DRY_RUN \
|
||
|
--exclude-from='.distignore' \
|
||
|
./content/ $DEPLOY_USER@$DEPLOY_HOST:html/wp-content/
|