Files
myprojplanet_vite/scripts/__termine.sh
2025-03-21 19:51:55 +01:00

95 lines
2.8 KiB
Bash

#!/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