53 lines
1.5 KiB
Bash
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
|