Info-Programm für Druckserver und Drucker
Info-Programm für Druckserver und Drucker
Ich suche ein Programm, dass mir bei Bedarf (also nicht automatisch, sondern nur dann, wenn ich es nutzen will) anzeigt, ob eine bestimmte Maschine (hier Druckserver) online ist (falls negativ, wäre optionales Aktivieren per wol auch nicht schlecht ) und welche der daran angeschlossenen Geräte, (also die Drucker) betriebsbereit sind. Ich benutze Openbox, keine DE, Textausgaben im Terminal würden mir genügen, aber grafisch ist auch recht. Gibt es sowas für wheezy?
Grüße, Günther
Grüße, Günther
Zuletzt geändert von guennid am 28.02.2014 19:49:39, insgesamt 1-mal geändert.
Re: Info-Programm
Hm, sieht man das nicht direkt in cups? (hier zeigt er einen Netzwerkdrucker nur an, wenn er auch verfügbar ist)
http://druckserver.domain:631 oder system-config-printer
Oder für einen bestimmten Drucker auf einem bestimmten Server (bin mir nicht sicher, dass es so funktioniert, aber wie man sieht hat es bei mir für einen lokalen Drucker namens pdf geklappt):
Für den Host an sich könntest du auch einfach pingen
oder diese Funktion hier übernehmen: http://www.linuxforen.de/forums/showpos ... ostcount=8
http://druckserver.domain:631 oder system-config-printer
Oder für einen bestimmten Drucker auf einem bestimmten Server (bin mir nicht sicher, dass es so funktioniert, aber wie man sieht hat es bei mir für einen lokalen Drucker namens pdf geklappt):
Code: Alles auswählen
[~]$ lpstat -h localhost -p pdf
printer PDF is idle. enabled since Don 20 Feb 2014 09:20:32 CET
Code: Alles auswählen
ping -c1 druckserver.domain > /dev/null && echo "erreichbar"
Re: Info-Programm
Bin in Eile, deswegen nur auf die Schnelle:
Cups-GUI unhandlich: Rödelt bei ausgeschalteter Maschine zu lange bis Meldung kommt.
localhost: hier sinnfrei
Melde mich wieder, wenn ich Zeit habe, den Rest systematisch zu prüfen.
Grüße, Günther
Cups-GUI unhandlich: Rödelt bei ausgeschalteter Maschine zu lange bis Meldung kommt.
localhost: hier sinnfrei
Melde mich wieder, wenn ich Zeit habe, den Rest systematisch zu prüfen.
Grüße, Günther
Re: Info-Programm
Du sollst statt localhost natürlich den Namen deines Druckservers nehmen.
Re: Info-Programm
Mit system-config-printer oder lpstat kriege ich mehr oder weniger indirekt raus, ob der Server hochgefahren ist oder nicht.
Aber weder system-config-printer noch lpstat melden, ob ein Drucker Strom hat oder nicht. Kann man das überhaupt abfragen (z.B. wenn mehrere Drucker über usb laufen?).
Ich werde mir vielleicht selbst was basteln. Dazu würde mich interessieren:
1. gibt es eine Liste mit den exit-codes von lpstat?
2. Wie schreibe ich den exit-code von lpstat in eine Variable?
Wenn ich über ping gehe: Wie sieht's da mit den exit-codes aus: Könnte ich an denen überhaupt erkennen, ob dem ping geantwortet wurde oder nicht.
Wenn ich was mache mache, ich es mit Pascal. Ich kann mir nicht vorstellen, mit für mich verqueren bash-Syntax jemals warm zu werden.
Grüße, Günther
Aber weder system-config-printer noch lpstat melden, ob ein Drucker Strom hat oder nicht. Kann man das überhaupt abfragen (z.B. wenn mehrere Drucker über usb laufen?).
Ich werde mir vielleicht selbst was basteln. Dazu würde mich interessieren:
1. gibt es eine Liste mit den exit-codes von lpstat?
2. Wie schreibe ich den exit-code von lpstat in eine Variable?
Wenn ich über ping gehe: Wie sieht's da mit den exit-codes aus: Könnte ich an denen überhaupt erkennen, ob dem ping geantwortet wurde oder nicht.
Wenn ich was mache mache, ich es mit Pascal. Ich kann mir nicht vorstellen, mit für mich verqueren bash-Syntax jemals warm zu werden.
Grüße, Günther
Re: Info-Programm für Druckserver und Drucker
Also bei ping ist der exit code 0, wenn der Host geantwortet hat (sonst würde mein Beispiel ja nicht funktionieren), bei einem unbekannten Host ist der Exitcode 2 und bei einem bekannten Host, der aber nicht antwortet 1.
Nach dem Ausführen eines Befehls steht der Exitcode in der Variablen $?, die kannst du ausgeben den Wert einer neuen Variablen zuweisen, damit er nicht beim Befehl verloren geht oder was immer du willst:
Mit anderen Befehlen wie lpstat funktioniert's ganz gleich.
Bei installiertem etherwake kannst du mit einem Befehl direkt einen nicht verfügbaren Host per WOL aufwecken (die MAC-Adresse siehst du in der Ausgabe von ifconfig):
oder wenn es dir so besser gefällt
Es kommt mir komisch vor, dass du von lpstat überhaupt den Exitcode brauchst. Ein
gibt eine schöne Liste der Drucker aus, inklusive der Information, welcher Drucker online ist. Eine Liste welcher Exitcode was bedeutet kenne ich nicht.
Nach dem Ausführen eines Befehls steht der Exitcode in der Variablen $?, die kannst du ausgeben den Wert einer neuen Variablen zuweisen, damit er nicht beim Befehl verloren geht oder was immer du willst:
Code: Alles auswählen
ping -c 1 host.domain
ExitCode=$?
Bei installiertem etherwake kannst du mit einem Befehl direkt einen nicht verfügbaren Host per WOL aufwecken (die MAC-Adresse siehst du in der Ausgabe von ifconfig):
Code: Alles auswählen
ping -c 1 host.domain || ether-wake MAC-Adresse-von-host.domain
Code: Alles auswählen
ping -c 1 host.domain
ExitCode=$?
if [ ${ExitCode} -eq 1 ]; then
ether-wake MAC-Adresse-von-host.domain
fi
Es kommt mir komisch vor, dass du von lpstat überhaupt den Exitcode brauchst. Ein
Code: Alles auswählen
lpstat -h druckerserver.domain -p
Re: Info-Programm für Druckserver und Drucker
Danke für die ausführliche Info!
lpstat
Das wird mir weiter helfen. Ich sagte ja, wenn ich was bastele, mach ich's mit Pascal, nicht mit der shell, und dazu brauche ich den ecitcode - wenn man ihn brauchen kann.
Grüße, Günther
lpstat
Hier tut das Programm das mit deinem Kommando nicht. Es listet die bekannten Drucker, sagt aber nichts darüber, ob ein Drucker offline ist. Und genau das ist der springende Punkt. Wenn alles online ist, brauche ich kein lpstat. Dann drucke ich. Interessant wird's für mich, wenn ich drucken will und ein Programm mir vor dem Gang in den Keller sagt, das selbiger nötig ist, weil der gewünschte Drucker nicht eingeschaltet ist Ob das möglich ist, weiß ich nicht.gibt eine schöne Liste der Drucker aus, inklusive der Information, welcher Drucker online ist.
Code: Alles auswählen
ExitCode=$?
sollte dann mit wakeonlan auch gehen, oder?ping -c 1 host.domain || ether-wake MAC-Adresse
Grüße, Günther
Re: Info-Programm für Druckserver und Drucker
'türlich - habe ich nur nicht gekannt (wakeonlan sieht irgendwie sogar besser aus).
Gibt lpstat bei dir gar keine Information zum Status aus? (also à la printer xyz is idle.) - man kann lpstat mit -v oder gar -t noch gesprächiger machen.
Gibt lpstat bei dir gar keine Information zum Status aus? (also à la printer xyz is idle.) - man kann lpstat mit -v oder gar -t noch gesprächiger machen.
Re: Info-Programm für Druckserver und Drucker
Code: Alles auswählen
$ lpstat -h drucker -p
printer HP_deskjet_5100_farbig is idle. enabled since Mi 26 Feb 2014 08:38:25 CET
printer HP_LaserJet_2200_s+w is idle. enabled since Mi 26 Feb 2014 08:33:45 CET
Mal schauen, was -v oder -t so bringt.
Grüße, Günther