53 lines
1.4 KiB
Bash
53 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# Definizione delle costanti
|
|
targetDB="FreePlanet"
|
|
MYDOCKER="mongodb_riso"
|
|
|
|
# Percorso del file da importare (specificare il percorso completo)
|
|
myCollection="$1"
|
|
fileToImport="$1.json"
|
|
|
|
# Leggi il nome della collezione come primo argomento
|
|
if [ -z "$1" ]; then
|
|
echo "Errore: Devi specificare il nome della collezione come argomento."
|
|
exit 1
|
|
fi
|
|
|
|
# Leggi le credenziali dal file di configurazione
|
|
source ~/batch/.my_cfg.ini
|
|
|
|
# Verifica che le variabili siano state impostate correttamente
|
|
if [ -z "$PWDDB" ]; then
|
|
echo "Errore: La password del database non è stata trovata in .my_cfg.ini."
|
|
exit 1
|
|
fi
|
|
|
|
|
|
# Messaggio di conferma
|
|
echo "Stai per importare i dati da '$fileToImport' nella collezione '$myCollection' del database '$targetDB'."
|
|
read -p "Sei sicuro di voler procedere? (Y/N): " risposta
|
|
|
|
# Controllo della risposta dell'utente
|
|
if [[ "$risposta" != "Y" && "$risposta" != "y" ]]; then
|
|
echo "Operazione annullata."
|
|
exit 0
|
|
fi
|
|
|
|
# Esegui il comando mongoimport dentro il container Docker
|
|
docker exec $MYDOCKER mongoimport \
|
|
--username admin \
|
|
--password "$PWDDB" \
|
|
--authenticationDatabase admin \
|
|
--db "$targetDB" \
|
|
--collection "$myCollection" \
|
|
--file "$fileToImport" \
|
|
--jsonArray
|
|
|
|
# Verifica lo stato dell'operazione
|
|
if [ $? -eq 0 ]; then
|
|
echo "Importazione completata con successo!"
|
|
else
|
|
echo "Errore durante l'importazione."
|
|
exit 1
|
|
fi |