Benötige Popup-Fenster, wenn...

F

flugopa

der USB-Stick voll ist.

Hintergrund:
Für eine einfache Datensicherung auf einen USB-Stick, verwende ich ein Shellskript.
Dieses wurde in /etc/crond.hourly abgelegt.
Alles funktioniert, bis auf die Tatsache, das ich keine Rückmeldung erhalte, wenn der Stick voll ist. ( Alles heist: mit logger + mail und auch mit zenity, wenn ich es selber aufrufe )

Was hätte ich gern?
Eine Möglichkeit, die Errormeldung auf den Nomaluser-Desktop (und evtl. Console) sichtbar zu machen.
Irgendwie gab es mal sowas... glaube ich, oder?
 
Solange Du die Ausgabe des Befehls nicht nach /dev/null umleitest und die Variable MAILTO in der crontab gesetzt hast, sollte der Nutzer, der bei MAILTO eingetragen ist, eine Nachricht erhalten. Ist es das, wonach Du suchst? s.a. 'man 5 crontab'
 
Normal sollte der gnome-volume-manager ohnehin schreihen, wenn eine partition voll wird.

Alternativ kannst du auch selber mit "notify-send", aus der libnotify eine meldung an eine X Sitzung schicken.

Etwas in der art von:

Code:
backup_script.sh || notify-send 'Warnung' 'Backup fehlgeschlagen :('
 
Das soll ja, soweit ich verstehe, auf dem Desktop irgend was ausgeben, nicht erst in einem Mailprogramm, wo man evtl. zu spät nachschaut. Und das unabhängig vom eingeloggten User. Und muß es schön aussehen?

Dafür könnte man "wall" verwenden vielleicht...
Code:
backup_script.sh || echo "Warnung, Backup fehlgeschlagen :(" | wall

Der Punkt ist ja, daß die Warnung die Shell-Umgebung verlassen muß, in der der Fehler auftritt, wenn der Cron-Job in einer anderen läuft als man gerade ist. Wall geht an alle offenen Logins, auch Konsolen auf Fn
 
Das soll ja, soweit ich verstehe, auf dem Desktop irgend was ausgeben, nicht erst in einem Mailprogramm, wo man evtl. zu spät nachschaut. Und das unabhängig vom eingeloggten User. Und muß es schön aussehen?

Dafür könnte man "wall" verwenden vielleicht...
Code:
backup_script.sh || echo "Warnung, Backup fehlgeschlagen :(" | wall

Der Punkt ist ja, daß die Warnung die Shell-Umgebung verlassen muß, in der der Fehler auftritt, wenn der Cron-Job in einer anderen läuft als man gerade ist. Wall geht an alle offenen Logins, auch Konsolen auf Fn

Es muss nicht schön aussehen, aber eine Info enthalten.

Stellt euch vor, ich habe 5 LinuxPCs, wovon einige ohne X laufen.

Egal an welchen ich gerade schraube, hätte ich gern die Meldung.
Nicht immer arbeite ich als root, oder mit ein einheitlichen Usernamen.

Unter Windows heisst das "net send".
Ich nehme auch gern mehrere Programme, wenn es nicht anderst geht.

Es geht nicht um das Programm logger, oder mail, weil das sind Programme, die innerhalb des Shellskript wunderbar ihren Dienst verrichten.

Der Hinweis auf notify-send hat mir gut gefallen, funktioniert leider nicht.
Testverfahren:
Code:
su -
echo -e "#!/bin/sh\nnotify-send "hallo" >/etc/crond.hourly/test123.sh
chmod +x /etc/crond.hourly/test123.sh
exit
Was werde ich als Normaluser sehen? Nichts.

Das Programm wall habe ich in einen anderen Skript mit eingebunden.

Um was geht es nochmal?
Desktop-Meldung unabhängig von Username und PCnamen die mit X arbeiten.

Wer kennt so etwas aus seinen Testumfeld?
Eine Gnome-Lösung reicht mir schon.
 
Ich hatte glaube ich noch nicht verstanden, daß du das von beliebigen Rechnern aus sehen möchtest, wenn *wo anders* ein Dienst weg bricht.... ist es das?

Ob du net send, talk, smb oder einen WinPopup-Clone benutzt oder walll... du mußt mit dem Problem vernetzt sein, damit es dir sagen kann, daß es eins ist...

net send hat doch unter Windows Message-Boxes mit Text geöffnet, wurde aber zu Zeiten von Windows 2k und XP (ohne Servicepacks) so massiv für Spam mißbraucht (ging halt auch über Internet, wenn der Dienst offen war und zu der Zeit hatten nur wenige Leute solche Router-Schachteln), daß der Dienst seit XP SP2 normalerweise aus ist und in neueren Windows-Versionen nur noch außerhalb "Home" überhaupt existiert und selbst da extra ein geschaltet werden muß... neuerdings (Vista) "msg.exe"

Unter Windows waren alle nötigen Ports immer auf, bis das als "Markt" entdeckt wurde....
 
Moin,

also notify-send sollte zumindest lokal funktionieren. Habe es auf 3 Maschinen unter diversen Ubuntu Versionen im Einsatz. Funktioniert halt nur lokal, :(, könnte man aber evtl auch über nen ssh-Aufruf absetzen.

Damit das ganze im Cron funktioniert brauchst du evtl etwas in der Richtung
"export DISPLAY=:0.0"
Damit die Meldung stehen bleibt sollte man notiyfy-send mit "-t 0" aufrufen.

mfg
HeadCrash
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Hmm was auch noch gehen könnte, setzt allerdings vorraus das du permanent einen jabber-Client am laufen hast, wäre eine Benachrichtiugung über jabber.
 
Zuletzt bearbeitet:
Da notify-send afaik nur auf der Lokalen Maschine aufpoppt, müßte man von der fehlererzeugenden Maschine etwas in der Art
Code:
kaputtemaschine:$ ssh user@gehendemaschine 'notify-send "backupfehler auf kaputtemaschine"'
los treten.

Man könnte evtl ein Skript hinterlegen, welches man mit unterschiedlichen Parametern aufruft, je nachdem, welche Maschine sich Meldet oder zustand des Backups.

mfg
HeadCrash
 
Was du nicht vergessen darfst ist das DISPLAY

Code:
kaputtemaschine:$ ssh user@gehendemaschine 'DISPLAY=":0.0" notify-send "backupfehler auf kaputtemaschine"'

Aber ich frag mich obs nicht einfacher wäre das ganze über lokale e-mails zu lösen.

Dann würdest du eine Meldung bekommen bei jeder neuen shell die du aufmachst. Die Variante mit ssh ist nett, aber man muss irgendwie die Passwörter von einem user auf jedem Rechner speichern und das halte ich nicht für besonders klug.
 
Was du nicht vergessen darfst ist das DISPLAY

Code:
kaputtemaschine:$ ssh user@gehendemaschine 'DISPLAY=":0.0" notify-send "backupfehler auf kaputtemaschine"'

Aber ich frag mich obs nicht einfacher wäre das ganze über lokale e-mails zu lösen.

Dann würdest du eine Meldung bekommen bei jeder neuen shell die du aufmachst. Die Variante mit ssh ist nett, aber man muss irgendwie die Passwörter von einem user auf jedem Rechner speichern und das halte ich nicht für besonders klug.

Danke für Deine Idee.
lokale Mail ist sicherlich eine gute Möglichkeit, wenn man öfters das E-Mail
startet, aber einmal am Tag reicht mir der Werbe-Müll.
Jetzt lasse ich alle Rechner in einer for-Schleife "kreisen" bis ich die Störung behoben habe.
 
Zurück
Oben