39 lines
1.3 KiB
Bash
39 lines
1.3 KiB
Bash
#!/bin/bash
|
|
# Script per La modifica del file hosts su container LXC
|
|
# Autore: Mattia Tadini
|
|
# Nome File: update-hosts-lxc.sh
|
|
# Percorso: /usr/local/lxc-scripts/
|
|
# Revisione: 1.0
|
|
|
|
# Ottieni l'indirizzo IP dell'interfaccia di rete del container
|
|
SERVER_IP=$(ip route get 8.8.8.8 | awk '{print $7}')
|
|
|
|
# Leggi il file /etc/hosts originale per trovare il nome del server
|
|
SERVER_NAME=$(awk '/^127\.0\.1\.1\s+/{print $2}' /etc/hosts)
|
|
|
|
# Controlla se SERVER_NAME è stato correttamente impostato
|
|
if [ -z "$SERVER_NAME" ]; then
|
|
echo "Errore: Nome del server non trovato nel file /etc/hosts."
|
|
exit 1
|
|
fi
|
|
|
|
# Aggiorna il file /etc/hosts aggiungendo la linea specificata
|
|
echo "$SERVER_IP $SERVER_NAME" > /tmp/new_hosts
|
|
|
|
# Leggi il contenuto originale di /etc/hosts
|
|
while IFS= read -r line; do
|
|
# Ignora le righe che contengono SERVER_IP ma non SERVER_NAME
|
|
if [[ ! "$line" == *"$SERVER_IP"* ]] || [[ "$line" == *"127.0.1.1 $SERVER_NAME"* ]]; then
|
|
echo "$line" >> /tmp/new_hosts
|
|
fi
|
|
done < /etc/hosts
|
|
|
|
# Sostituisci il file /etc/hosts con la versione aggiornata
|
|
mv /tmp/new_hosts /etc/hosts
|
|
|
|
# Verifica che l'aggiunta sia stata effettuata correttamente
|
|
if grep -q "^$SERVER_IP $SERVER_NAME" /etc/hosts; then
|
|
echo "Hostname aggiunto correttamente."
|
|
else
|
|
echo "Errore nell'aggiunta del hostname."
|
|
fi |