Überprüfen Sie eine Hostdatei auf Änderungen und fügen Sie sie hinzu, falls sie fehlt.

Überprüfen Sie eine Hostdatei auf Änderungen und fügen Sie sie hinzu, falls sie fehlt.

Ich verwende Docker, bei dem der Container seine eigene /etc/hosts-Datei hat. Diese wird beim Neustart gelöscht. Ich möchte ein Skript erstellen, das nach einem Eintrag sucht und ihn bei Fehlen hinzufügt.

Wenn also /etc/hosts einen Eintrag hat, der besagt:

10.1.1.1 important-server

Dann tun Sie nichts. Wenn nicht, tun Sie Folgendes:

echo "10.1.1.1 important-server" >> /etc/hosts

Ich gehe davon aus, dass ich für die Musterübereinstimmung „ sedoder “ oder so etwas verwenden kann .awk

Antwort1

Wie gesagt vonRinzwindin Kommentaren:

Sie sollten --add-host="import-server:10.1.1.1"es dem Docker-Run-Befehl ODER der Datei docker-compose.yml hinzufügen, wenn Sie Docker-Compose verwenden.

Oder in der Shell:

sudo -s
grep -Pq '^10\.1\.1\.1\s+important-server' /etc/hosts ||
    echo '10.1.1.1 important-server' >> /etc/hosts
exit

verwandte Informationen