Почетна » како да » Како да добијете географску локацију вашег система из Басх скрипте

    Како да добијете географску локацију вашег система из Басх скрипте

    Ториа / Схуттерстоцк.цом

    Можете пронаћи географску локацију удаљеног Линук система користећи отворене АПИ-је и једноставан басх скрипт. Геолоцирање сервера може вам помоћи да га пратите у физичком свијету, осигуравајући да се сервери налазе у регионалним врућим точкама.

    Сваки сервер на интернету има јавну ИП адресу. Ово је или директно додељено серверу, или додељено рутеру који шаље саобраћај на тај сервер. ИП адресе нам дају траг о томе где се тај сервер налази у свету. Овај геолокациони податак можемо добити преко два отворена АПИ-ја, обезбеђена од стране ипинфо.цо и ИП Вигиланте, и користити их да видимо град, државу и земљу повезану са сервером или другим удаљеним системом. Ово вам не даје прецизну ГПС локацију; само вам омогућава да видите општу област ИП адресе.

    Повежите се са удаљеним системом

    Покрећете следеће команде на Линук серверу или другим удаљеним системима које желите да геолоцирате, тако да прво морате да се повежете са сервером и приступите овој љусци. На пример, можете се повезати преко ССХ-а. Можете да покренете команде на вашем локалном систему да бисте пронашли његову локацију, али вероватно већ знате где се налазите!

    Инсталирајте цурл и јк

    Потребна су нам два алата за приступ АПИ-ју геолокације: цурл да бисте направили ХТТП захтеве и  јк да обрадимо ЈСОН податке које добијамо. Отворите терминал и користите  апт-гет да инсталирате ове алате на Убунту или Дебиан базираним системима. На другим Линук дистрибуцијама користите алатку за инсталацију пакета за Линук дистрибуцију.

    судо апт-гет инсталација цурл јк

    Пронађите јавну ИП адресу сервера

    Такође нам је потребна јавна ИП адреса сервера пре него што добијемо геолокационе податке. Усе цурл да направите АПИ позив за ипинфо.ио у вашем терминалском прозору.

    цурл хттпс://ипинфо.ио/ип

    Добијте податке о локацији из АПИ-ја

    Сада када имамо јавни ИП сервера, можемо да позовемо АПИ ипвигиланте.цом да добијемо геолокационе податке. Заменити са адресом која се вратила у претходној команди.

    цурл хттпс://ипвигиланте.цом/

    Погледајмо ближе које податке враћамо из овог позива:

    АПИ враћа град, земљу и континент у којем се налази наш сервер. Такође враћа приближне координате географске ширине и дужине, у случају да желимо да нацртамо овај сервер на интерактивној мапи. Користићемо "латитуде", "лонгитуде", "цити_наме" и "цоунтри_наме" у нашој скрипти. Тхе  јк команда разуме како да обради АПИ податке и извади ова четири поља.

    Креирање скрипта за аутоматизацију позива АПИ-ја

    Можемо да направимо скрипту која граби геолокационе податке и пише их у датотеку у ЦСВ формату. Подаци ће бити записани у датотеку која се зове сервер_лоцатион.ткт у / тмп / директоријум. Отворите омиљени едитор и креирајте име скрипте геолоцате.сх . Уметните садржај скрипте приказан у наставку и обавезно замените ИП адресу својим:

    #! / бин / сх ОУТПУТ_ФИЛЕ = / тмп / сервер_лоцатион.ткт # Ухватите јавну ИП адресу овог сервера ПУБЛИЦ_ИП = "цурл -с хттпс://ипинфо.ио/ип" # Позовите АПИ геолокације и ухватите излазни цурл -с : //ипвигиланте.цом/$ ПУБЛИЦ_ИП | јк '.дата.латитуде, .дата.лонгитуде, .дата.цити_наме, .дата.цоунтри_наме' | док читате -р ЛАТИТУДЕ; до реад -р ЛОНГИТУДЕ читање -р ЦИТИ читање -р ЦОУНТРИ ецхо "$ ЛАТИТУДЕ, $ ЛОНГИТУДЕ, $ ЦИТИ, $ ЦОУНТРИ" | р --делете "> $ ОУТПУТ_ФИЛЕ учињено 

    Сачувајте скрипту и вратите се на терминал. Направите скрипту извршну са терминала, дајући дозволу за извршење за овај фајл.

    цхмод у + к геолоцате.сх

    Сада сте спремни да га испробате. Покренути геолоцате.сх скрипта и провери садржај излазне датотеке:

    ./геолоцате.сх цат /тмп/сервер_лоцатион.ткт 

    Ажурирање Геолоцатион података једном дневно са Црон Јобом

    Креирамо црон посао како би наш сервер ажурирао своју геолокацију и спремио је у датотеку једном дневно. Дневни црон посао ажурира датотеку која се зове сервер_лоцатион.ткт у / тмп / директоријума сервера. Креирање 24-часовног црон посла је исто тако лако као што је постављање нашег скрипта у /етц/црон.даили директоријум. Морамо користити судо наредбу да копирамо датотеку као роот корисник, како бисмо избјегли проблеме с дозволама. Извршите наредну наредбу за копирање геолоцате.сх до /етц/црон.даили директоријум.

    судо цп геолоцате.сх /етц/црон.даили

    Ове промене су тренутне и наша скрипта ће се покретати сваких 24 сата да би ажурирала садржај /тмп/сервер_лоцатион.ткт филе. Можемо користити ове податке да бисмо урадили занимљиве ствари, као што је цртање наших сервера на мапи, као и комбиновање геолокације са дневницима саобраћаја да би се видело где су светске тачке сервера.