Kaip gauti sistemos geografinę vietą iš Bash scenarijaus

Pasaulio žemėlapis su interneto ryšio koncepcija

Toria / Shutterstock.com



Geografinę nuotolinės Linux sistemos vietą galite rasti naudodami atviras API ir paprastą bash scenarijų. Serverio geografinės vietos nustatymas gali padėti sekti jį fiziniame pasaulyje, užtikrinant, kad serveriai būtų regioniniuose viešosiose vietose.

Kiekvienas interneto serveris turi viešą IP adresas . Tai arba tiesiogiai priskiriama serveriui, arba maršruto parinktuvui, kuris siunčia srautą į tą serverį. IP adresai leidžia suprasti, kurioje pasaulio vietoje yra tas serveris. Šiuos geografinės vietos duomenis galime gauti per dvi atviras API, kurias teikia ipinfo.co ir IP Vigilante, ir naudoti juos miestui, valstijai ir šaliai, susietam su serveriu ar kita nuotoline sistema, matyti. Tai nesuteikia tikslios GPS vietos; tai tiesiog leidžia matyti bendrą IP adreso sritį.





Prisijunkite prie nuotolinės sistemos

„Linux“ serveryje ar kitose nuotolinėse sistemose, kuriose norite nustatyti geografinę vietą, vykdysite šias komandas, todėl pirmiausia turite prisijungti prie serverio ir pasiekti jame esantį apvalkalą. Pavyzdžiui, galite prisijungti per SSH . Galite paleisti komandas vietinėje sistemoje, kad surastumėte jos vietą, bet tikriausiai jau žinote, kur esate!

Įdiekite curl ir jq

Norint pasiekti geografinės vietos API, mums reikia dviejų įrankių: |_+_| pateikti HTTP užklausas ir |_+_| apdoroti JSON duomenis, kuriuos gauname. Atidarykite terminalą ir naudokite |_+_| įdiegti šiuos įrankius Ubuntu arba Debian pagrindu veikiančiose sistemose. Kituose „Linux“ platinimuose naudokite „Linux“ platinimo paketo diegimo įrankį.



curl

Raskite serverio viešąjį IP adresą

Mums taip pat reikia viešojo serverio IP adreso, kad galėtume gauti geografinės vietos duomenis. Naudokite |_+_| kad savo terminalo lange paskambintumėte API į ipinfo.io.

jq

Gaukite vietos duomenis iš API

Dabar, kai turime viešąjį serverio IP, galime paskambinti į ipvigilante.com API, kad gautume geografinės vietos duomenis. Pakeisti |_+_| su adresu, kuris grįžo ankstesnėje komandoje.

apt-get

išvestis iš curl komandos



Skelbimas

Pažvelkime atidžiau, kokius duomenis gauname iš šio skambučio:

metaduomenys, rodantys vietos informaciją

API grąžina miestą, šalį ir žemyną, kuriame yra mūsų serveris. Jis taip pat grąžina apytiksles platumos ir ilgumos koordinates, jei norėtume nupiešti šį serverį interaktyviame žemėlapyje. Savo scenarijuje naudosime platumą, ilgumą, miesto_pavadinimas ir šalies_pavadinimas. |_+_| komanda supranta, kaip apdoroti API duomenis ir išskirti šiuos keturis laukus.

Scenarijaus kūrimas API skambučiui automatizuoti

Galime sukurti scenarijų, kuris paima geografinės vietos duomenis ir įrašo juos į failą CSV formatu. Duomenys bus įrašyti į failą, pavadintą |_+_| |_+_| katalogas. Atidarykite mėgstamą redaktorių ir sukurkite scenarijų pavadinimu |_+_| . Įdėkite toliau pateiktą scenarijaus turinį ir būtinai pakeiskite IP adresą savo:

curl

Išsaugokite scenarijų ir grįžkite į terminalą. Padarykite scenarijų vykdomą iš terminalo, suteikdami šio failo vykdymo leidimą.

Dabar esate pasiruošę tai išbandyti. Vykdykite |_+_| scenarijų ir patikrinkite išvesties failo turinį:

jq

paleisti geografinės vietos nustatymo scenarijų

Geolokacijos duomenų atnaujinimas kartą per dieną naudojant „Cron“ darbą

Sukurkime cron užduotį, kad mūsų serveris atnaujintų savo geografinę vietą ir vieną kartą per dieną išsaugotų jį faile. Kasdienis cron darbas atnaujina failą pavadinimu |_+_| |_+_| serverio aplanką. Sukurti 24 valandų cron užduotį taip pat paprasta, kaip įdėti scenarijų į |_+_| katalogas. Turime naudoti komandą sudo, kad nukopijuotume failą kaip pagrindinis vartotojas, kad išvengtume leidimų problemų. Vykdykite šią komandą, kad nukopijuotumėte |_+_| į |_+_| katalogas.

server_location.txtSkelbimas

Šie pakeitimai atliekami nedelsiant, o mūsų scenarijus bus paleistas kas 24 valandas, kad būtų atnaujintas |_+_| failą. Šiuos duomenis galime naudoti norėdami atlikti įdomius dalykus, pvz., braižyti savo serverius žemėlapyje, taip pat derinti geografinę vietą su eismo žurnalais, kad pamatytume, kurioje pasaulio vietoje yra mūsų serverių viešosios interneto prieigos taškai.

SKAITYTI KITAS
  • › „Microsoft Excel“ funkcijos ir formulės: koks skirtumas?
  • › Kas yra MIL-SPEC apsauga nuo kritimo?
  • › 5 svetainės, kurias turėtų pažymėti kiekvienas „Linux“ vartotojas
  • › Kompiuterio aplankas yra 40: kaip „Xerox Star“ sukūrė darbalaukį
  • › Kaip rasti „Spotify“ supakuotą 2021 m
  • & rsaquo; 2021 m. kibernetinis pirmadienis: geriausi techniniai pasiūlymai
Taylor Gibb profilio nuotrauka Teiloras Gibbas
Taylor Gibb yra profesionalus programinės įrangos kūrėjas, turintis beveik dešimtmečio patirtį. Dvejus metus jis dirbo „Microsoft“ regiono direktoriumi Pietų Afrikoje ir yra gavęs ne vieną „Microsoft“ MVP (labiausiai vertinamą profesionalą) apdovanojimą. Šiuo metu jis dirba tyrimų ir plėtros srityje Derivco International.
Skaityti visą biografiją

Įdomios Straipsniai