📋 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
54 lines
1.9 KiB
Bash
54 lines
1.9 KiB
Bash
#!/bin/bash
|
|
|
|
# Script di sincronizzazione bidirezionale
|
|
# Uso: ./sync-bidirectional.sh [push|pull]
|
|
|
|
MODE=${1:-push}
|
|
LOCAL_PATH="$HOME/netgescon/netgescon-laravel/"
|
|
REMOTE_USER="michele"
|
|
REMOTE_HOST="192.168.0.43"
|
|
REMOTE_PATH="/var/www/netgescon/"
|
|
|
|
case $MODE in
|
|
push)
|
|
echo "🔄 PUSH: Sincronizzazione locale -> remoto..."
|
|
if [ -f .rsyncignore ]; then
|
|
rsync -rz --delete --checksum --exclude-from=.rsyncignore \
|
|
$LOCAL_PATH $REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH
|
|
else
|
|
rsync -rz --delete --checksum --exclude='.git' --exclude='node_modules' --exclude='vendor' --exclude='storage/logs' --exclude='storage/framework' --exclude='bootstrap/cache' \
|
|
$LOCAL_PATH $REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH
|
|
fi
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "✅ Push completato!"
|
|
echo "🔧 Aggiornamento remoto..."
|
|
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && php artisan migrate --force"
|
|
fi
|
|
;;
|
|
pull)
|
|
echo "🔄 PULL: Sincronizzazione remoto -> locale..."
|
|
if [ -f .rsyncignore ]; then
|
|
rsync -rz --delete --checksum --exclude-from=.rsyncignore \
|
|
$REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH $LOCAL_PATH
|
|
else
|
|
rsync -rz --delete --checksum --exclude='.git' --exclude='node_modules' --exclude='vendor' --exclude='storage/logs' --exclude='storage/framework' --exclude='bootstrap/cache' \
|
|
$REMOTE_USER@$REMOTE_HOST:$REMOTE_PATH $LOCAL_PATH
|
|
fi
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "✅ Pull completato!"
|
|
echo "🔧 Aggiornamento locale..."
|
|
cd $LOCAL_PATH
|
|
composer install
|
|
php artisan migrate
|
|
fi
|
|
;;
|
|
*)
|
|
echo "Uso: $0 [push|pull]"
|
|
echo " push: Sincronizza locale -> remoto (default)"
|
|
echo " pull: Sincronizza remoto -> locale"
|
|
exit 1
|
|
;;
|
|
esac
|