EsPresto.org
awk sinnvoll auf /etc/snmp/snmpd.conf angewandt
Für die Aktivierung des neuen Monitoring-Slaves mussten alle SNMP-Daemons um die neue IP-Adresse erweitert werden.
All zu oft komm ich nicht in die Verlegenheit awk zu verwenden, aber hier schien es angebracht:
Die Zugriffsbeschränkung kann in /etc/snmp/snmpd.conf mit dem Eintrag rocommunity <COMMUNITY> <IP/SUBNET> konfiguriert werden.
Die Aufgabe lautete also "Füge den String rocommunity public 123.45.67.89/32 genau einmal hinzu wenn rocommunity public 98.76.54.32 gefunden wird. Alle anderen Zeilen unverändert übernehmen."
awk 'BEGIN { x=0 } /^rocommunity +public +123\.45\.67\.89\/32/ && x==0 { print \$0"\nrocommunity public 98.76.54.32/32"; x=x+1 } ! /^rocommunity +public +123\.45\.67\.89\/32/ { print \$0 }' /etc/snmp/snmpd.conf > /etc/snmp/snmpd.conf.new
Obige awk-Anweisung zählt in x wie oft die Ersetzung bereits aufgerufen wurde.
Sicher geht es auch mit sed. Wer weiss wie, kann das ja als Kommentar hinterlassen.
11:51 23.07.2008 | Permalink | Frank Schubert | Administration | Kommentare[0] | Tags: awk snmpd