Wie führe ich ein Bash-Skript aus und zeigt alle Ausgaben in Conky an?

10398
leetwanker

Das Bash-Skript, das ich in Conky ausführen möchte, ist eine Schleife, die nur einmal ausgeführt werden muss. Es ist ein Überwachungsskript für den Fall, dass mein VoIP-Router ausfällt.

$ 

Conky möchte nicht mit dem obigen Code beginnen.

3
Nicht sicher über Conky, aber für die Serverüberwachung benutze ich gerne [Monit] (http://mmonit.com/monit/) und habe eine detaillierte Antwort darauf, wie ich es implementiere [für Apache-Webserver hier] (http: / /superuser.com/a/872924/167207). Ob es für Nicht-System-Daemon-Prozesse verwendet werden kann? Ich weiß es nicht. Aber nur eine Idee. JakeGould vor 9 Jahren 0

2 Antworten auf die Frage

3
leetwanker

Ich habe das Problem umgangen, indem ich das Skript in eine Protokolldatei ausgegeben habe, und ich habe die Protokolldatei konkeptiert.

Für alle, die das Skript sehen wollten:

#!/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

Die Art und Weise, dies zu tun ist durch die conky Befehl / Variablen wie exec, execp, execi, pre_exec, execbar, und execgraph.

Genau wie jede andere Conky-Variable, nur gefolgt von bash -

$ 

oder

$ 

Denken Sie daran, dass alle - außer execiund pre_execwerden jedes Mal ausgeführt werden, wenn conky 'tickt' - was je nach Skript sehr ressourcenintensiv sein kann.

Die vollständige Liste und weitere Informationen finden Sie in der Liste der Conky-Objekte :