#!/bin/bash source ./.env.test.risosrv echo "Sincronizzazione in corso ... $DIRECTORY_SERVER/" echo "" msg="*** SERVER DI ### TEST ### RISO **** INVIARE GLI AGGIORNAMENTI ? (Y/N)" if [ "$1" = "" ]; then read -p "$msg" risposta else echo $msg risposta=$1 fi if [[ $risposta == "Y" || $risposta == "y" ]]; then # Configurazione REMOTE_USER="pcbuser" REMOTE_HOST="pcb" REMOTE_PORT="8822" REMOTE_DIR="$DIRECTORY_SERVER" SSH_OPTIONS="-p $REMOTE_PORT" CONFIG_JS="ecosystem.config.riso_test.js" ENV_FILE=".env.test.risosrv" ENV_OUT=".env.test" #ENV_FILE=".env.prod.pcb" #ENV_OUT=".env.production" # Array di cartelle e file da sincronizzare SYNC_ITEMS=( "css" "docs" "emails" "plugins" "sass" "admin_scripts" "src" ) echo $REMOTE_DIR echo "" echo "*** Copia Cartelle ... " # Esegui rsync per le cartelle rsync -avz --delete \ --exclude='src/server/router/upload/' \ -e "ssh $SSH_OPTIONS" \ "${SYNC_ITEMS[@]}" \ "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/" echo "" echo "*** Copia del file $ENV_FILE su $ENV_OUT ... " # Sincronizza i file specifici rsync -avz -e "ssh $SSH_OPTIONS" \ $ENV_FILE "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/$ENV_OUT" echo "" echo "*** Copia del file package.json ... " rsync -avz -e "ssh $SSH_OPTIONS" \ package.json "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/package.json" echo "" echo "*** Copia del file ecosystem.config.js ... " rsync -avz -e "ssh $SSH_OPTIONS" \ "$CONFIG_JS" "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/ecosystem.config.js" echo "" echo "*** Copia del file $CONFIG_JS in ecosystem.config.js ... " rsync -avz -e "ssh $SSH_OPTIONS" \ $CONFIG_JS "$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/ecosystem.config.js" # Verifica il risultato if [ $? -eq 0 ]; then echo "Sincronizzazione completata con successo. SERVER $REMOTE_DIR! " else echo "Errore durante la sincronizzazione. Controlla l'output per i dettagli." fi fi