您可以使用openapi和簡單的bash指令碼找到遠端Linux系統的地理位置。地理定位伺服器可以幫助您在物理世界中跟蹤它,確保伺服器位於區域熱點。
internet上的每臺伺服器都有一個面向公眾的IP地址。這可以直接分配給伺服器,也可以分配給向該伺服器傳送流量的路由器。IP地址為我們提供了有關伺服器在世界上的位置的線索。我們可以透過ipinfo.co公司和IP警戒,並使用它來檢視城市,州,和與伺服器或其他遠端系統相關的國家。這並不能給你一個精確的GPS定位;它只是讓你看到IP地址的大致區域。
您將在Linux伺服器或其他要地理定位的遠端系統上執行以下命令,因此必須先連線到伺服器並訪問其上的shell。例如,您可以透過SSH進行連線。您可以在本地系統上執行命令來查詢其位置,但您可能已經知道自己在哪裡了!
我們需要兩個工具來訪問geolocationapi:curl來發出HTTP請求,jq來處理我們得到的JSON資料。開啟一個終端,使用apt-get在基於Ubuntu或Debian的系統上安裝這些工具。在其他Linux發行版上,請改用Linux發行版的包安裝工具。
sudo apt-get install curl jq在獲取地理位置資料之前,我們還需要伺服器的公共IP地址。使用curl呼叫ipinfo.io檔案在你的終端視窗。
curl https://ipinfo.io/ip現在我們有了伺服器的公共IP,我們可以呼叫ipwillinte.com的API來獲取地理位置資料。將<;您的ip地址>;替換為上一個命令中返回的地址。
curl https://ipvigilante.com/<your ip address>讓我們仔細看看我們從這次通話中得到了哪些資料:
API返回伺服器所在的城市、國家和大陸。它還返回大致的緯度和經度座標,以防我們要在互動式地圖上繪製此伺服器。我們將在指令碼中使用“緯度”、“經度”、“城市名稱”和“國家名稱”。jq命令瞭解如何處理API資料並提取這四個欄位。
我們可以建立一個指令碼來獲取地理位置資料並將其寫入CSV格式的檔案。資料將被寫入一個名為server的檔案_位置.txt在/tmp/目錄中。開啟您最喜歡的編輯器並建立一個名為地理定位.sh. **如下所示的指令碼內容,並確保用自己的IP地址替換該IP地址:
#!/bin/sh OUTPUT_FILE=/tmp/server_location.txt # Grab this server's public IP address PUBLIC_IP=`curl -s https://ipinfo.io/ip` # Call the geolocation API and capture the output curl -s https://ipvigilante.com/${PUBLIC_IP} | \ jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name' | \ while read -r LATITUDE; do read -r LONGITUDE read -r CITY read -r COUNTRY echo "${LATITUDE},${LONGITUDE},${CITY},${COUNTRY}" | \ tr --delete \" > \ ${OUTPUT_FILE} done儲存指令碼並返回終端。透過授予此檔案的執行許可權,使指令碼可從終端執行。
chmod u+x geolocate.sh現在你可以測試了。執行地理定位.sh編寫指令碼並檢查輸出檔案的內容:
./geolocate.sh cat /tmp/server_location.txt讓我們建立一個cron作業,使伺服器每天更新一次其地理位置並將其儲存到一個檔案中。每日cron作業更新一個名為server的檔案_位置.txt在伺服器的/tmp/資料夾中。建立24小時cron作業就像將指令碼放入/etc一樣簡單/cron.daily公司目錄。我們必須使用sudo命令以root使用者的身份複製檔案,以避免許可權問題。執行以下命令複製地理定位.sh至/etc/cron.daily公司目錄。
sudo cp geolocate.sh /etc/cron.daily這些更改是即時的,我們的指令碼將每24小時執行一次,以更新/tmp/伺服器的內容_位置.txt檔案。我們可以使用這些資料做一些有趣的事情,比如在地圖上繪製伺服器,以及將地理位置與流量日誌相結合,以檢視伺服器熱點在世界上的位置。
...bash是什麼、不同的模式(互動式和非互動式)以及它是如何產生的基礎知識開始,這個站點提供了一個全面的背景知識來幫助您理解命令列的機制。 ...
...式設計師和極客的天堂。我們已經寫了很多關於作業系統如何適合從學生到藝術家的每個人的文章,但是是的,Linux是一個很好的程式設計平臺。無論您是考慮到開放精神還是整個生態系統,都有很多理由考慮讓Linux成為您編寫...
...然後從這裡開始。弄清楚它們是怎麼工作的。想一想你該如何為自己調整它們。一旦你對什麼是指令碼感到滿意,你就可以考慮潛入編碼的本質。 ...
... 在本文中,我將向您展示如何在Linux上安裝、執行和使用PowerShell! ...
...此,這幾乎是獲取定量資料的唯一方法,說明系統的效能如何——如果您的數字不足,這表明您可能希望升級一些PC元件。 ...
...為輸入執行它。這些特殊的應用程式被稱為水滴。下面是如何建立一個: ...
... 如何在windows10上安裝linux bash shell ...
... 第一行告訴執行這個程式的人如何執行它(即使用bash直譯器)。第二個命令與您在命令列中輸入的任何其他命令一樣。將該檔案另存為hello_世界.sh,然後: ...