Как запустить скрипт bash и отобразить любой вывод в Conky?

10356
leetwanker

Скрипт Bash, который я хотел бы запустить в Conky, представляет собой цикл, поэтому его нужно запускать только один раз. Это скрипт мониторинга на случай, если мой VoIP роутер выйдет из строя.

$ 

Конки не хочет начинать с приведенного выше кода.

3
Не уверен насчет Конки, но для мониторинга серверов мне нравится использовать [Monit] (http://mmonit.com/monit/) и получить подробный ответ о том, как я его реализую [для веб-серверов Apache здесь] (http: / /superuser.com/a/872924/167207). Может ли оно использоваться для несистемных процессов демона? Я не знаю. Но просто идея. JakeGould 9 лет назад 0

2 ответа на вопрос

3
leetwanker

I've worked around the problem by having the script output to a log file and I have conky tail the log file.

For anyone who wanted to see the script:

#!/bin/bash rm /home/username/ping.log #deletes the log file when the script starts downTime=0 lastAccessTime=$(date +"%s") while [ true ]; do if ! ping -c1 192.168.1.28 >& /dev/null; then downTime=$(( $(date +"%s") - $lastAccessTime )) else downTime=0 lastAccessTime=$(date +"%s") fi sleep 60 if [ $downTime -ge 60 ]; then notify-send -u normal "VoIP is down! Please Reboot." #displays a desktop notification mplayer -nolirc -really-quiet /home/username/chime.ogg #plays a sound echo "`date +%b%e,%l:%M%p` $1": "VoIP is down!" >>/home/username/ping.log #writes Date & text to the log file fi done 
0
rm-vanda

Способ сделать это через носатый команд / переменные, такие как exec, execp, execi, pre_exec, execbar, и execgraph.

Как и любая другая переменная conky, за которой следует только bash -

$ 

или же

$ 

Имейте в виду, что все они - за исключением execiи pre_execбудут выполняться каждый раз, когда требуются «тики», - которые могут быть очень трудоемкими, в зависимости от вашего сценария.

Смотрите полный список и дополнительную информацию в списке объектов Conky :

Похожие вопросы