Kā iegūt sistēmas ģeogrāfisko atrašanās vietu no Bash skripta

Pasaules karte ar interneta savienojumu koncepciju

Toria/Shutterstock.com



Varat atrast attālās Linux sistēmas ģeogrāfisko atrašanās vietu, izmantojot atvērtās API un vienkāršu bash skriptu. Servera ģeogrāfiskās atrašanās vietas noteikšana varētu palīdzēt izsekot tam fiziskajā pasaulē, nodrošinot, ka serveri atrodas reģionālajos karstajos punktos.

Katram interneta serverim ir publiska saskarne IP adrese . Tas ir vai nu tieši piešķirts serverim, vai arī maršrutētājam, kas sūta trafiku uz šo serveri. IP adreses sniedz mums nojausmu par to, kur pasaulē atrodas šis serveris. Mēs varam iegūt šos ģeogrāfiskās atrašanās vietas datus, izmantojot divas atvērtas API, ko nodrošina ipinfo.co un IP Vigilante, un izmantot tos, lai redzētu pilsētu, štatu un valsti, kas saistīta ar serveri vai citu attālo sistēmu. Tas nedod jums precīzu GPS atrašanās vietu; tas tikai ļauj jums redzēt vispārējo IP adreses apgabalu.





Izveidojiet savienojumu ar attālo sistēmu

Linux serverī vai citās attālās sistēmās, kurām vēlaties noteikt ģeogrāfisko atrašanās vietu, tiks darbinātas šādas komandas, tāpēc vispirms ir jāizveido savienojums ar serveri un jāpiekļūst tā apvalkam. Piemēram, jūs varētu izveidot savienojumu, izmantojot SSH . Varat palaist komandas savā vietējā sistēmā, lai atrastu tās atrašanās vietu, taču jūs, iespējams, jau zināt, kur atrodaties!

Instalējiet curl un jq

Lai piekļūtu ģeogrāfiskās atrašanās vietas API, mums ir nepieciešami divi rīki: |_+_| lai veiktu HTTP pieprasījumus un |_+_| lai apstrādātu saņemtos JSON datus. Atveriet termināli un izmantojiet |_+_| lai instalētu šos rīkus sistēmās, kuru pamatā ir Ubuntu vai Debian. Citos Linux izplatījumos izmantojiet sava Linux izplatīšanas pakotnes instalēšanas rīku.



curl

Atrodiet servera publisko IP adresi

Lai iegūtu ģeogrāfiskās atrašanās vietas datus, mums ir nepieciešama arī servera publiskā IP adrese. Izmantojiet |_+_| lai termināļa logā veiktu API zvanu uz ipinfo.io.

jq

Iegūstiet atrašanās vietas datus no API

Tagad, kad mums ir servera publiskais IP, mēs varam piezvanīt uz ipvigilante.com API, lai iegūtu ģeogrāfiskās atrašanās vietas datus. Aizstāt |_+_| ar adresi, kas tika atgriezta iepriekšējā komandā.

apt-get

izvade no curl komandas



Reklāma

Sīkāk apskatīsim, kādus datus mēs saņemam no šī zvana:

metadati, kas parāda atrašanās vietas informāciju

API atgriež pilsētu, valsti un kontinentu, kurā atrodas mūsu serveris. Tas arī atgriež aptuvenās platuma un garuma koordinātas, ja mēs vēlamies uzzīmēt šo serveri interaktīvā kartē. Mēs savā skriptā izmantosim platuma, garuma, pilsētas_nosaukums un valsts_nosaukums. |_+_| komanda saprot, kā apstrādāt API datus un izvilkt šos četrus laukus.

Skripta izveide, lai automatizētu API zvanu

Mēs varam izveidot skriptu, kas satver ģeogrāfiskās atrašanās vietas datus un ieraksta tos failā CSV formātā. Dati tiks ierakstīti failā ar nosaukumu |_+_| sadaļā |_+_| direktoriju. Atveriet savu iecienītāko redaktoru un izveidojiet skriptu ar nosaukumu |_+_| . Ievietojiet tālāk redzamo skripta saturu un noteikti nomainiet IP adresi ar savu:

curl

Saglabājiet skriptu un dodieties atpakaļ uz termināli. Padariet skriptu izpildāmu no termināļa, piešķirot izpildes atļauju šim failam.

Tagad esat gatavs to pārbaudīt. Palaidiet |_+_| skriptu un pārbaudiet izvades faila saturu:

jq

palaižot ģeogrāfiskās atrašanās vietas noteikšanas skriptu

Ģeolokācijas datu atjaunināšana reizi dienā, izmantojot Cron darbu

Izveidosim cron darbu, lai mūsu serveris vienu reizi dienā atjauninātu savu ģeogrāfisko atrašanās vietu un saglabātu to failā. Ikdienas cron darbs atjaunina failu ar nosaukumu |_+_| sadaļā |_+_| servera mapi. 24 stundu cron darba izveide ir tikpat vienkārša kā mūsu skripta ievietošana |_+_| direktoriju. Mums ir jāizmanto komanda sudo, lai kopētu failu kā root lietotājam, lai izvairītos no problēmām ar atļaujām. Palaidiet šo komandu, lai kopētu |_+_| uz |_+_| direktoriju.

server_location.txtReklāma

Šīs izmaiņas ir tūlītējas, un mūsu skripts darbosies ik pēc 24 stundām, lai atjauninātu |_+_| failu. Mēs varam izmantot šos datus, lai veiktu interesantas darbības, piemēram, uzzīmētu mūsu serverus kartē, kā arī apvienotu ģeogrāfisko atrašanās vietu ar satiksmes žurnāliem, lai redzētu, kur pasaulē atrodas mūsu serveru karstie punkti.

LASĪT TĀLĀK
  • › Funkcijas un formulas programmā Microsoft Excel: kāda ir atšķirība?
  • › Kas ir MIL-SPEC aizsardzība pret kritienu?
  • › 5 vietnes, kas katram Linux lietotājam ir jāiekļauj grāmatzīmēs
  • › Datora mape ir 40: kā Xerox Star izveidoja darbvirsmu
  • › Kā atrast savu Spotify iesaiņojumu 2021. gadam
  • & rsaquo; Kiberpirmdiena 2021: labākie tehnoloģiju piedāvājumi
Teilora Giba profila fotogrāfija Teilors Gibs
Teilors Gibs ir profesionāls programmatūras izstrādātājs ar gandrīz desmit gadu pieredzi. Viņš divus gadus strādāja par Microsoft reģionālo direktoru Dienvidāfrikā un ir saņēmis vairākas Microsoft MVP (Visvērtīgākā profesionāļa) balvas. Pašlaik viņš strādā pētniecības un attīstības jomā Derivco International.
Lasīt pilnu biogrāfiju

Interesanti Raksti