如何使用 Linux 终端发送通知/警报?

如何使用 Linux 终端发送通知/警报?

我在某个远程位置有一台 Linux 计算机(ubuntu)和一些用于自动化操作的脚本。然后另一个脚本将检查任务是否已完成。最后一步是我遇到问题的地方,因为我想编写一个脚本,可以在网络上向我发送通知/警报/更新,我可以稍后使用我的智能手机或 Windows/Linux 计算机进行检查。该脚本只需输出“Completed”或“Fail”

我读过几种方法:使用电子邮件、网络套接字、向智能手机推送通知和 SSH。有什么可以从linux终端完成这个任务的吗?

SSH:我从外部网络/远程位置连接到该电脑时遇到问题。电子邮件:我不喜欢这种方法,因为脚本中存在我的用户名和密码的漏洞。智能手机和 Websocket 上的推送通知:我仍在阅读此内容。

答案1

我使用 Pushbullet 为自己制作了一个从 Linux 到智能手机的通知系统。

你必须:

  1. 在您的智能手机上安装 Pushbullet 并创建帐户

  2. 使用同一个帐户,在推子弹API

  3. 创建一个使用令牌发送通知的脚本。在 Bash 中,它很简单:

      curl --header 'Access-Token: <your_access_token_here>' \
           --header 'Content-Type: application/json' \
          --data-binary '{"body":"Space Elevator, Mars Hyperloop, Space 
          Model S (Model Space?)","title":"Space Travel Ideas","type":"note"}' \
          --request POST \
          https://api.pushbullet.com/v2/pushes
    

4.您将通过 Pushbullet 应用程序在智能手机上收到通知。

答案2

有人推荐Pushbullet,这是一个不错的选择。另一个是简单推送。我用simplepush Python 模块在一个小的 Python 脚本中将推送通知发送到我的设备,但是简单推送存储库GitHub 上附带了一个您可以使用的 Bash 脚本。我更喜欢 simplepush,因为它不需要通过 Google 进行身份验证。我还没有尝试过的另一个选择是推线器

答案3

如果“已完成”或“失败”信息不是很保密,您可以使用命令行聊天工具。例如像 mcabber 这样的 XMPP 客户端。在这种情况下,您需要一个相应的在线帐户。也许看一下麦克伯

要使用电子邮件,您的用户名/密码不必位于脚本内。如果您管理 Linux 服务器,您可以安装本地邮件服务器(postfix、exim4 等)并使用本地邮件命令。但是,如果其他人管理此服务器,您的密码仍然驻留在配置文件中(root)。

如果您不介意购买额外的(蜂窝)SIM 卡,可以通过命令行发送 WhatsApp 消息:请参阅尤苏普在 github 上。据我记得SIM卡之前不得用于任何电话号码,因此可以通过脚本注册。但你得自己弄清楚,因为我只记得这个项目,但自己从未使用过。
是linux杂志上的一篇文章,描述了注册SIM卡的方法。也许您可以阅读这本杂志?

希望这篇文章对您有帮助...

答案4

Install 特穆克斯在 Android 上并在 Termux 中运行 sshd。

然后你可以ssh一些术语:API像这样的好东西

termux-media-player play some.mp3

termux-notification --content finished

相关内容