Files
Web-Page-Performance-Test/auto-sync.sh

40 lines
1.0 KiB
Bash

#!/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