#!/bin/bash # Carica l'elenco dei siti dal file __sites_list.sh source __sites_list.sh # Verifica se la variabile 'sites' è un array if [[ ! ${sites[@]} ]]; then echo "Errore: La variabile 'sites' non è definita o non è un array." exit 1 fi # Itera su ogni sito nell'array 'sites' for s in "${sites[@]}"; do dir="__$s" if [[ -d "$dir" ]]; then echo "Rimuovo la directory: $dir" rmdir "$dir" if [[ $? -ne 0 ]]; then echo "Errore: Impossibile rimuovere la directory $dir." fi # else # echo "La directory $dir non esiste." fi done # Verifica se la variabile 'site' è vuota if [[ -z "$site" ]]; then echo "Lancio senza Parametri!" else echo "TERMINA DI LAVORARE SU $site: (Sovrascrivo!)" echo "TERMINA DI LAVORARE SU $site: (Sovrascrivo!)" > now.txt # Definisce il percorso di backup backup_dir="../../_BAK/5/$site" mkdir -p "$backup_dir" # Copia il sito nella directory di backup cp -R "_ALL_SITES/$site" "$backup_dir/" if [[ $? -ne 0 ]]; then echo "Errore: Impossibile copiare _ALL_SITES/$site in $backup_dir." fi # Rimuovi le cartelle attuali in modo sicuro rem_dirs=("_ALL_SITES/$site/public/images" "_ALL_SITES/$site/public/myicons" "_ALL_SITES/$site/public/js" "_ALL_SITES/$site/public/workbox") for dir in "${rem_dirs[@]}"; do [[ -d "$dir" ]] && rm -rf "$dir"/* done # Elenco dei file e directory da copiare items_to_copy=( "public" # Directory "src/db" # Directory "src-pwa/manifest.json" # File "package.json" # File ".env.development" # File ".env.production" # File ".env.test" # File ) # Copia ciascun elemento nella directory del sito for item in "${items_to_copy[@]}"; do source_path="../$item" destination_path="_ALL_SITES/$site/$item" if [[ -e "$source_path" ]]; then if [[ -d "$source_path" ]]; then # Se è una directory, assicurati che la directory di destinazione esista echo "Creazione directory: $destination_path" mkdir -p "$destination_path" # Copia il contenuto della directory direttamente nella destinazione echo "Copying directory content: $source_path -> $destination_path" cp -Rv "$source_path/." "$destination_path/" else # Se è un file, assicurati che la directory genitore di destinazione esista parent_dir=$(dirname "$destination_path") echo "Creazione directory genitore: $parent_dir" mkdir -p "$parent_dir" # Copia il file echo "Copia file: $source_path -> $destination_path" cp -v "$source_path" "$destination_path" if [[ $? -ne 0 ]]; then echo "Errore: Impossibile copiare $source_path in $destination_path." fi fi else echo "Avviso: $source_path non esiste e non sarà copiato." fi done fi