From c02c5209946390fb5407322bf0d283940aab02fd Mon Sep 17 00:00:00 2001 From: DeNNiiInc Date: Mon, 29 Dec 2025 13:05:22 +1100 Subject: [PATCH] Add missing auto-sync.sh script for server updates --- auto-sync.sh | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 auto-sync.sh diff --git a/auto-sync.sh b/auto-sync.sh new file mode 100644 index 0000000..f4b1dfb --- /dev/null +++ b/auto-sync.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +# Auto-sync script for Web-Page-Performance-Test +# This script is run by cron every 5 minutes + +LOG_FILE="/var/log/Web-Page-Performance-Test-autosync.log" + +log() { + echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOG_FILE" +} + +# Fetch latest changes +git fetch origin main + +# Check if we are behind +LOCAL=$(git rev-parse HEAD) +REMOTE=$(git rev-parse origin/main) + +if [ "$LOCAL" != "$REMOTE" ]; then + log "Updates detected. Pulling..." + + # Pull changes + git pull origin main >> "$LOG_FILE" 2>&1 + + # Install dependencies if package.json changed + if git diff --name-only "$LOCAL" "$REMOTE" | grep -q "package.json"; then + log "package.json changed. Installing dependencies..." + npm install --production >> "$LOG_FILE" 2>&1 + fi + + # Restart service + log "Restarting service..." + systemctl restart Web-Page-Performance-Test + + log "Update complete. New version: $(git rev-parse --short HEAD)" +else + # No changes, do nothing (silent to avoid log spam) + : +fi