Puncte:0

Script Shell pentru a verifica rezolv.conf

drapel eg

Trebuie să scriu un script shell care verifică conținutul rezoluție.conf

De exemplu

domeniu example.com
caută abc.com abc.org abc.net
server de nume 1.1.2.2
server de nume 3.3.4.4

abc.com/abc.org/abc.net poate apărea în orice ordine

server de nume linia poate apărea în orice ordine

Ar putea exista spații între parametri.

Care este logica care poate fi folosită pentru a verifica configurația

De exemplu Dacă abc.com lipsește, ar trebui să evidențieze că abc.com lipsește

Tilman Schmidt avatar
drapel bd
Această sarcină nu este foarte bine definită. Pentru ce anume doriți să verificați rezolv.conf? De asemenea, trebuie să fie un script shell și, dacă da, care shell? Cojile standard nu sunt foarte potrivite pentru această sarcină. Limbaje de scriptare precum Perl sau Python ar fi o potrivire mai bună.
djdomi avatar
drapel za
sau planty suprascrie rezoluția.conf al țintei, indiferent?
drapel in
Ar trebui să aruncați o privire la gestionarea configurației.
Puncte:2
drapel us
Rob

Cea mai simplă verificare pentru a vedea dacă un fișier conține un anumit model este cea comună grep utilitar de linie de comandă.

Cu steaguri și opțiuni corecte, puteți construi un script de bază care face ceva în conformitate cu următorul pseudo-cod:

# Defalcă elementele pe care le cauți 
# în modele de expresie regulată de bază 
# și stocați-le într-o matrice

MyRequiredEntries=("server de nume\s*1.1.2.2" "server de nume\s*3.3.4.4" "domeniu\s*example.com" "căutare\s.*abc\.com" "căutare\s.*abc\. net")

# Buclă peste elementele matricei 

pentru MyEntry în „${MyRequiredEntries[@]}” 
do 
   
   # utilizați codul de ieșire al grep -q pentru o logică suplimentară 

   grep -q "$MyEntry" /etc/resolv.conf

   MyResult=$?

   if [ $MyResult -eq 0 ] ; atunci 
      echo „fă ceva când rezolv.conf conține modelul $MyEntry” 
   altfel 
      echo „fă ceva când rezolv.conf NU conține modelul $MyEntry” 
   fi 
Terminat

Care poate fi bineînțeles reglat în funcție de nevoile dumneavoastră.


După cum au comentat alții: mai degrabă decât să faci un joc de "Gaseste diferentele" poate doriți să faceți un pas înapoi și să vă gândiți de ce executați acest test și ce intenționați să faceți cu constatările dvs.

Dacă rezultatul final este să vă asigurați că toate serverele au configurația corectă, atunci de preferință începeți să le gestionați cu un sistem de management al configurației și evitați ca aceste diferențe să apară în viitor.
Și dacă pornirea unei soluții de gestionare a configurației centrale este încă o punte prea departe, mai degrabă decât testarea și apoi repararea manuală a setărilor: nu vă deranjați și aplicați direct setările corecte peste tot...

O notă secundară: când (unele dintre) sistemele dvs. sunt configurate cu DHCP, poate doriți să începeți cu împingerea setărilor corecte de acolo.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.