Update-Hosts-LXC/update-hosts-lxc.sh

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