netgescon-master/_BACKUP_OLD_netgescon-laravel_INACTIVE/pull-from-local.sh

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