Polybar에서 서버 상태를 확인하는 스크립트

Polybar에서 서버 상태를 확인하는 스크립트

저는 현재 i3와 Polybar를 사용하여 Arch를 실행하고 있습니다. 또한 6개의 서버를 유지 관리하므로 생활을 더 쉽게 하기 위해 서버가 다운되면 알려주는 일련의 셸 스크립트를 만들었습니다.

이러한 스크립트는 작동하지만 우아한 솔루션과는 거리가 멀습니다. 현재 각 서버마다 2개의 스크립트가 있습니다. 하나는 상태 표시줄(폴리바)에 쓰고 다른 하나는 로그에 씁니다.

이렇게 하면 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의 오류 로딩 시간이 너무 길어져서 두 개의 별도 셸 스크립트로 분할했습니다.

요청이 실패한 위치를 확인하기 위해 추적 경로를 추가했습니다.

나는 이 문제를 해결하기 위한 더 나은 방법이 있어야 한다는 것을 알았습니다. 총 12개의 쉘 스크립트는 너무 많고 비효율적입니다. 누구든지 이것에 대한 더 나은 해결책을 가지고 있습니까? 쉘 스크립팅이 덜 필요하면서도 효율적인 방식으로 로그인할 수 있는 서비스가 있습니까?

관련 정보