#!/bin/bash # Script di pull per aggiornamenti dal server locale # Da eseguire sul server remoto # Uso: ./pull-from-local.sh echo "🔄 Pull aggiornamenti dal server locale..." # Parametri configurabili LOCAL_HOST="192.168.0.xxx" # IP del server locale (da configurare) LOCAL_USER="michele" LOCAL_PATH="/home/michele/netgescon/netgescon-laravel/" REMOTE_PATH="/var/www/netgescon/" # Verifica connessione al server locale if ! ping -c 1 $LOCAL_HOST &> /dev/null; then echo "❌ Impossibile raggiungere il server locale $LOCAL_HOST" exit 1 fi # Backup prima del pull echo "📦 Creazione backup locale..." tar -czf backup-$(date +%Y%m%d_%H%M%S).tar.gz --exclude='backup-*.tar.gz' . # Pull dal server locale echo "🔄 Pull file dal server locale..." rsync -rz --delete --checksum --exclude='.git' --exclude='node_modules' --exclude='vendor' --exclude='storage/logs' --exclude='storage/framework' --exclude='bootstrap/cache' \ $LOCAL_USER@$LOCAL_HOST:$LOCAL_PATH $REMOTE_PATH if [ $? -eq 0 ]; then echo "✅ Pull completato con successo!" # Aggiorna dipendenze e database echo "🔧 Aggiornamento dipendenze..." composer install --no-dev --optimize-autoloader echo "🗃️ Aggiornamento database..." php artisan migrate --force echo "⚡ Ottimizzazione cache..." php artisan config:cache php artisan route:cache php artisan view:cache echo "🔄 Riavvio servizi..." sudo systemctl restart nginx echo "🚀 Aggiornamento completato!" else echo "❌ Errore durante il pull" exit 1 fi