Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Ubuntu-Forum & Kubuntu-Forum | www.Ubuntu-Forum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

ixtos

User

  • »ixtos« ist der Autor dieses Themas

Beiträge: 35

Registrierungsdatum: 12.11.2009

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 2.x

  • Nachricht senden

1

30.07.2011, 04:02

crontab: einfacher command funktioniert, dbus-send nicht

Hallo Forum,

ich verwende Linux schon eine Weile, cron und crontab aber erst seit kurzer Zeit. Mein crontab sieht so aus:

Quellcode

1
2
*    *   *   *   *     date > /home/ixtos/cron.txt
*    *   *   *   *     /usr/bin/dbus-send --session --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.SaveSessiondate > /home/ixtos/cron_dbus.txt


Das Datum wird als Test jede Minute rausgeschrieben - kein Problem. Eigentlich möchte ich gerne den 2. Befehl regelmäßig ausführen, um meine Session zu speichern (siehe [gelöst] Remember currently running application). Das File /home/ixtos/cron_dbus.txt erscheint zwar jede Minute neu im Home, aber der Befehl wird nicht ausgeführt. Wenn ich den 2. Befehl in der shell aufrufe, dann wird /home/ixtos/.config/gnome-session aktualisiert, das ist mit crontab nicht der Fall.

Vielen Dank im voraus für Eure Hilfe.
Hella


EDIT:
Hab noch ein paar Sachen nachgeprüft (https://help.ubuntu.com/community/CronHowto)
- Inhalt von /var/log/syslog

Quellcode

1
2
Jul 30 04:09:01 air-esm-ixtos CRON[5987]: (ixtos) CMD (/usr/bin/dbus-send --session --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.SaveSessiondate > /home/ixtos/cron_dbus.txt)
Jul 30 04:09:01 air-esm-ixtos CRON[5986]: (ixtos) CMD (date > /home/ixtos/cron.txt)

- Leerzeile am Ende des crontab, aber das ist auch nicht das Problem, denn das Outputfile wird ja erzeugt, 2. Befehl wird also gelesen
- es gibt kein cron.allow auf meinem System; der user ixtos ist in der Gruppe crontab
- Pfad zu dbus-send überprüft

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ixtos« (30.07.2011, 04:16)


2

02.08.2011, 22:22

Hab noch ein paar Sachen nachgeprüft
Hast du auch die mails gesichtet, mit denen cron die Ergebnisse seiner Durchläufe berichtet?
Beim Erstellen dieser Nachricht kamen keine Tiere zu Schaden.
me is all sausage
but don't call me Ferdl

Beiträge: 15

Registrierungsdatum: 29.07.2011

Derivat: Ubuntu

Architektur: 32-Bit PC

Desktop: GNOME 2.x

Andere Betriebssysteme: Ubuntu 10.4; SLES 10-11

  • Nachricht senden

3

03.08.2011, 10:49

Ggf. fehlt ja irgendeine Umgebungsvariable, die in der cron-Umgebung nicht gesetzt ist.

Mach doch einfach mal ein

Quellcode

1
printenv

im Terminal während einer aktiven Session und dann mal in der Crontab. Beides mal in eine Datei umleiten und vergleichen (z.B. mit diff)
Live long and prosper.

WYS
Zucker

ixtos

User

  • »ixtos« ist der Autor dieses Themas

Beiträge: 35

Registrierungsdatum: 12.11.2009

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 2.x

  • Nachricht senden

4

03.08.2011, 20:34

Hallo,

danke für die Hinweise.

@ Fredl:
Auf meinem lokalen System erhalte ich keine Mails von cran / crontab. Ich habe aber das gleiche auf einem remote Linux-Cluster getestet. Von dort bekomme ich Mails, habe aber das gleiche Problem wie auf meinem lokalen Rechner: einfache Kommandos wie

Quellcode

1
echo "bla"
sind kein Problem, tcsh-Skripte aber schon (immer "permission denied"). Ich wusste garnicht, dass ich auch von meinem lokalen Rechner emails erhalten sollte. Im Remote-System werden die User-Daten inklusive Email nach einem Antragsformular eingerichtet.

EDIT:
Wo muss ich in meinem lokalen System die Emailadresse für crontab eingegben?

@ zucker
EDIT:
Habe ich gemacht, crontab hat den Befehl ohne Probleme ausgeführt. Die einfache crontab shell (sh) hat 5 environment variables, meine tcsh hat 65, darunter auch einige Definitionen für DBUS. Kann ich meine tcsh -Umgebung in sh sourcen? Wenn ja wie?

Danke!

Viele Grüße,
Hella

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ixtos« (04.08.2011, 21:45)