netgescon-master/docs/03-scripts-automazione/pull-from-local.sh
Pikappa2 480e7eafbd 🎯 NETGESCON - Setup iniziale repository completo
📋 Commit iniziale con:
-  Documentazione unificata in docs/
-  Codice Laravel in netgescon-laravel/
-  Script automazione in scripts/
-  Configurazione sync rsync
-  Struttura organizzata e pulita

🔄 Versione: 2025.07.19-1644
🎯 Sistema pronto per Git distribuito
2025-07-19 16:44:47 +02:00

53 lines
1.5 KiB
Bash

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