广州市宏科科技有限公司

如何从Bash脚本获取系统的地理位置?

您可以使用开放API和简单的bash脚本找到远程Linux系统的地理位置。地理定位服务器可以帮助您在物理世界中跟踪它,确保服务器位于区域热点。

互联网上的每个服务器都有一个面向公众的IP地址。这可以直接分配给服务器,也可以分配给将流量发送到该服务器的路由器。IP地址为我们提供了有关该服务器在世界中的位置的线索。我们可以通过ipinfo.co和IP Vigilante提供的两个开放API获取此地理位置数据,并使用它来查看与服务器或其他远程系统关联的城市。这并不能为您提供精确的GPS位置,它只是让你看到IP地址的粗略位置。

您将在Linux服务器或要进行地理定位的其他远程系统上运行以下命令,因此您必须首先连接到服务器并访问它。例如,您可以通过SSH连接。您可以在本地系统上运行命令以查找其位置,但您可能已经知道自己的位置。

在获取地理位置数据之前,我们还需要服务器的公共IP地址,用于curl在终端窗口中对ipinfo.io进行API调用。

现在我们有了服务器的公共IP,我们可以调用ipvigilante.com的API来获取地理位置数据,替换为上一个命令中返回的地址。我们可以创建一个脚本来抓取地理位置数据并将其写入CSV格式的文件中,数据将调用tmp/文件。

智能摄像头 让我们创建一个cron作业,让我们的服务器更新其地理位置,并将其每天保存到一个文件中。每日cron作业更新服务器文件夹中调用server_location.txt的/tmp/文件。创建一个cron作业,就像将我们的脚本放到目录里边一样简单。我们必须使用sudo命令以root用户身份复制文件,以避免权限问题。运行以下命令以复制geolocate.sh到该/etc/cron.daily目录。这些更改是立即的,我们的脚本将每24小时运行一次以更新文件的内容。我们可以使用这些数据来做有趣的事情,例如在地图上绘制我们的服务器以及将地理位置与流量日志结合起来,以查看我们的服务器热点在世界的哪个位置。

上一篇:26则人生感悟,人生不怕重来,就怕没有将来!

下一篇:搭建资源、对接市场!昆明研学旅行分会成立

顶部