用于从 Polybar 检查服务器状态的脚本

用于从 Polybar 检查服务器状态的脚本

我目前正在使用 i3 和 Polybar 运行 Arch。我还维护 6 台服务器,因此为了让我的生活更轻松,我制作了一系列 shell 脚本来通知我服务器是否关闭。

这些脚本可以工作,但它远非一个优雅的解决方案。目前,我为每个服务器有 2 个脚本。一种写入状态栏 (polybar),另一种写入日志。

这将写入 Polybar:

 #!/bin/bash

 srv=`ping 000.000.000.000 -c 1 -W 1 \
  | sed '2q;d' \
  | awk 'NF>1{print $NF}'`

 fail=`date '+%a %H:%M:%S'`



 if [[ $srv == ms ]]; then

     :

 else

     echo " 000.000.000.000 | $fail "

 fi

这将写入日志文件:

 #!/bin/bash

 srv=`ping 000.000.000.000 -c 1 -W 1 \
  | sed '2q;d' \
  | awk 'NF>1{print $NF}'`

 fail=`date '+%a %F %H:%M:%S'`

 log1=`ping 000.000.000.000 -c 1 -W 1`

 log2=`traceroute 000.000.000.000`

 if [[ $srv == ms ]]; then

     :

 else

     echo "<---------------------------------------------->
 000.000.000.000 | $fail

 ----------------------------------------------

 $log1

 ----------------------------------------------

 $log2
 <---------------------------------------------->



 " >> ~/.log/ping.log

 fi

这两个脚本都作为模块添加到我的 Polybar 配置中。

我尝试将这两个脚本合并为一个,但这会使 Polybar 中显示错误的加载时间太长,因此我将它们分成两个单独的 shell 脚本。

我添加了跟踪路由以查看请求失败的位置。

我知道必须有更好的方法来解决这个问题。总共 12 个 shell 脚本太多了,而且效率很低。有人对此有更好的解决方案吗?需要较少 shell 脚本并且仍能以高效方式登录的一种?

相关内容