Wie mit >cron< eine Anwendung periodisch neu starten? LM18.3 Cinnamon
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
16.08.2018, 23:57:15

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
  • Mitglieder insgesamt: 20619
  • Letzte: DerAide
Statistiken
  • Beiträge insgesamt: 543827
  • Themen insgesamt: 43721
  • Heute online: 326
  • Am meisten online: 680
  • (27.03.2018, 20:17:41)
Benutzer Online

Autor Thema: [gelöst]  Wie mit >cron< eine Anwendung periodisch neu starten? LM18.3 Cinnamon  (Gelesen 1658 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

[gelöst] Re: Wie mit >cron< eine Anwendung periodisch neu starten? LM18.3 Cinnamon
« Antwort #45 am: 16.05.2018, 15:07:40 »
Hi :)
mormales cron bedeutet: bash schreiben und ins /etc/cron.daily /hourly / monthly / weekley setzen... fertig.
da braucht nix weiter konfiguriert werden ;)

Die Zeile sollte also so aussehen:
Code: [Auswählen]
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-X8afRtIN0c,guid=328a8f1f59e1f75bcf9d3bbb5afc162a

Solltest du vor dem nächsten Versuch einen Neustart machen, musst du die Zeile ggf. anpassen (also den echo-Befehl ausführen und schauen, ob die Ausgabe gleich ist.)
habe noch keinen Neustart ausgeführt, soll ich das um trotzdem zu vergleichen?

die geänderte crontab -e:
#-----------------------------------------------------------------
# Shell variable for cron
SHELL=/bin/bash
# PATH variable for cron
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11

# Export DBUS_SESSION_ADRESS for mailnag
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-X8afRtIN0c,guid=328a8f1f59e1f75bcf9d3bbb5afc162a

#2 minütiger periodischer Start von mailnag
#M   S     T M W   Befehl
#-----------------------------------------------------------------
*/2     * * * *   DISPLAY=:0 /usr/bin/mailnag --quiet >> /home/helmut/mailnag.log 2>&1
crontab: installing new crontab
check cron:~ $ sudo systemctl status cron.service
● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
   Active: active (running) since Mi 2018-05-16 13:29:33 CEST; 1h 40min ago
     Docs: man:cron(8)
 Main PID: 1002 (cron)
   CGroup: /system.slice/cron.service
           ├─ 1002 /usr/sbin/cron -f
           ├─12032 /usr/sbin/CRON -f
           ├─12033 /bin/bash -c DISPLAY=:0 /usr/bin/mailnag --quiet >> /home/helmut/mailnag.log 2>&1
           └─12034 /usr/bin/python /usr/bin/mailnag --quiet

Mai 16 15:10:01 K52jc-lm18 cron[1002]: (helmut) RELOAD (crontabs/helmut)
Mai 16 15:10:01 K52jc-lm18 CRON[12032]: pam_unix(cron:session): session opened for user helmut by (uid=0)
Mai 16 15:10:01 K52jc-lm18 CRON[12033]: (helmut) CMD (DISPLAY=:0 /usr/bin/mailnag --quiet >> /home/helmut/mailnag.log 2>&1)
Mai 16 15:10:01 K52jc-lm18 mailnag[5573]: INFO (2018-05-16 15:10:01): Shutting down...
Mai 16 15:10:01 K52jc-lm18 mailnag[5573]: INFO (2018-05-16 15:10:01): Idler closed
Mai 16 15:10:01 K52jc-lm18 mailnag[5573]: INFO (2018-05-16 15:10:01): Plugins disabled successfully.
Mai 16 15:10:03 K52jc-lm18 mailnag[12034]: INFO (2018-05-16 15:10:03): Successfully enabled plugin 'dbusplugin'.
Mai 16 15:10:03 K52jc-lm18 mailnag[12034]: INFO (2018-05-16 15:10:03): Successfully enabled plugin 'soundplugin'.
Mai 16 15:10:03 K52jc-lm18 mailnag[12034]: INFO (2018-05-16 15:10:03): Successfully enabled plugin 'userscriptplugin'.
Mai 16 15:10:03 K52jc-lm18 mailnag[12034]: INFO (2018-05-16 15:10:03): Checking 1 email account(s).
hey , periodischer mailnag Start mit Emailabruf, mailnag läuft dabei im Hintergrund weiter und zeigt kein Fehlersymbol "!!" an. ;D
Soll ich mal Neustarten wegen der DBUS Adresse??

Soll ich mal Neustarten wegen der DBUS Adresse??
Jop, das erscheint mir sinnvoll :)

ok,
vorher:echo $DBUS_SESSION_BUS_ADDRESSunix:abstract=/tmp/dbus-X8afRtIN0c,guid=328a8f1f59e1f75bcf9d3bbb5afc162anach Neustart:
unix:abstract=/tmp/dbus-JSBi9D4pRD,guid=851f2bfaea2444da57adc4f55afc34feder mailnag job wird nicht ausgeführt.

Die crontab mit der aktuellen DBUS_SESSION_BUS_ADDRESS aktualisiert und der mailnag Dienst läuft wieder.

Wie bekommt man denn nun die Aktualisierung der DBUS_SESSION_BUS_ADDRESS hin?
Sysyphus lässt grüßen. :-X
Oder gehts nun hier in deinem Link weiter: https://jason.the-graham.com/2011/01/16/gnome_keyring_with_msmtp_imapfilter_offlineimap/#cron  ?

Versuch: nachdem ich durch @TomS Antwort #22 dieses las: https://wiki.ubuntuusers.de/Cron/#Zugriff-auf-GNOME-Keyring-ermoeglichen
Erstellen und Ausführen des Scripts: "export_x_info.sh" zwecks Auslesen der sich bei jedem Neustart ändernden "DBUS_SESSION_BUS_ADDRESS" sowie Exportieren und automatisches erstellen der Datei: ~/.Xdbus
#!/bin/bash
# file: export_x_info.sh
# Export the dbus session address on startup so it can be used by cron
touch $HOME/.Xdbus
chmod 600 $HOME/.Xdbus
env | grep DBUS_SESSION_BUS_ADDRESS > $HOME/.Xdbus
echo 'export DBUS_SESSION_BUS_ADDRESS' >> $HOME/.Xdbus
funktioniert
Notiz: Dieses Script gehört mit einer Verzögerung nach dem Start des DBUS-Daemon in Startprogramme (Autostart).

Die erstellte Datei ~/.Xdbus beinhaltet die nach jedem Neustart aktualisierte "DBUS_SESSION_BUS_ADDRESS":
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-JSBi9D4pRD,guid=851f2bfaea2444da57adc4f55afc34fe
export DBUS_SESSION_BUS_ADDRESS

Nun müßte man noch die Datei als Informations Quelle in den cronjob basteln oder nicht?

so in der Art von: DBUS_SESSION_BUS_ADDRESS=source $HOME/.Xdbus  oder /home/helmut/.Xdbus

#-----------------------------------------------------------------
# Shell variable for cron
SHELL=/bin/bash
# PATH variable for cron
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11

# Export DBUS_SESSION_ADRESS for mailnag
DBUS_SESSION_BUS_ADDRESS=source $HOME/.Xdbus   #testweise eingefügt (/home/helmut/.Xdbus)

#2 minütiger periodischer Start von mailnag
#M   S     T M W   Befehl
#-----------------------------------------------------------------
*/2     * * * *   DISPLAY=:0 /usr/bin/mailnag --quiet >> /home/helmut/mailnag.log 2>&1

oder bin ich auf dem Holzweg?

Anscheinend ein Holzweg oder falsche Parameter,
die geänderte crontab wird zwar ohne Fehler gespeichert, was eigentlich ein gutes Zeichen ist und cron führt den Job mailnag (scheinbar) aus aber der Dienst wird nicht gestartet.~ $ sudo systemctl status cron.service
● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
   Active: active (running) since Mi 2018-05-16 15:41:10 CEST; 1h 8min ago
     Docs: man:cron(8)
 Main PID: 1032 (cron)
   CGroup: /system.slice/cron.service
           ├─ 1032 /usr/sbin/cron -f
           ├─29440 /usr/sbin/CRON -f
           ├─29441 /bin/bash -c DISPLAY=:0 /usr/bin/mailnag --quiet >> /home/helmut/mailnag.log 2>&1
           └─29442 /usr/bin/python /usr/bin/mailnag --quiet

Mai 16 16:46:01 K52jc-lm18 mailnag[22239]: INFO (2018-05-16 16:46:01): Plugins disabled successfully.
Mai 16 16:46:01 K52jc-lm18 CRON[22237]: pam_unix(cron:session): session closed for user helmut
Mai 16 16:46:03 K52jc-lm18 mailnag[29442]: INFO (2018-05-16 16:46:03): Successfully enabled plugin 'dbusplugin'.
Mai 16 16:46:03 K52jc-lm18 mailnag[29442]: INFO (2018-05-16 16:46:03): Successfully enabled plugin 'soundplugin'.
Mai 16 16:46:03 K52jc-lm18 mailnag[29442]: INFO (2018-05-16 16:46:03): Successfully enabled plugin 'userscriptplugin'.
Mai 16 16:46:03 K52jc-lm18 mailnag[29442]: INFO (2018-05-16 16:46:03): Checking 1 email account(s).
Mai 16 16:47:01 K52jc-lm18 cron[1032]: (helmut) RELOAD (crontabs/helmut)
Mai 16 16:48:01 K52jc-lm18 CRON[5063]: pam_unix(cron:session): session opened for user helmut by (uid=0)
Mai 16 16:48:01 K52jc-lm18 CRON[5064]: (helmut) CMD (DISPLAY=:0 /usr/bin/mailnag --quiet >> /home/helmut/mailnag.log 2>&1)
Mai 16 16:48:01 K52jc-lm18 CRON[5063]: pam_unix(cron:session): session closed for user helmut
Mai 16 16:50:01 K52jc-lm18 CRON[12699]: pam_unix(cron:session): session opened for user helmut by (uid=0)
Mai 16 16:50:01 K52jc-lm18 CRON[12700]: (helmut) CMD (DISPLAY=:0 /usr/bin/mailnag --quiet >> /home/helmut/mailnag.log 2>&1)
Mai 16 16:50:01 K52jc-lm18 CRON[12699]: pam_unix(cron:session): session closed for user helmut
Mai 16 16:52:01 K52jc-lm18 CRON[19970]: pam_unix(cron:session): session opened for user helmut by (uid=0)
Mai 16 16:52:01 K52jc-lm18 CRON[19971]: (helmut) CMD (DISPLAY=:0 /usr/bin/mailnag --quiet >> /home/helmut/mailnag.log 2>&1)
Mai 16 16:52:02 K52jc-lm18 CRON[19970]: pam_unix(cron:session): session closed for user helmut
:'(
« Letzte Änderung: 17.05.2018, 18:24:00 von kuehhe1 »

Du warst dicht dran!

Das Skript zum Erstellen der ~/.Xdbus:
#!/bin/bash
# file: export_x_info.sh
# Export the dbus session address on startup so it can be used by cron
touch $HOME/.Xdbus
chmod 600 $HOME/.Xdbus
env | grep DBUS_SESSION_BUS_ADDRESS > $HOME/.Xdbus


Die Zeile für die crontab (ersetzt DBUS_SESSION_BUS_ADDRESS=...)
source /home/helmut/.Xdbus

Die vollständige crontab:
#-----------------------------------------------------------------
# Shell variable for cron
SHELL=/bin/bash
# PATH variable for cron
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11

# Export DBUS_SESSION_ADRESS for mailnag
source /home/helmut/.Xdbus

#2 minütiger periodischer Start von mailnag
#M   S     T M W   Befehl
#-----------------------------------------------------------------
*/2     * * * *   DISPLAY=:0 /usr/bin/mailnag --quiet >> /home/helmut/mailnag.log 2>&1
« Letzte Änderung: 16.05.2018, 19:46:29 von atze »

Hallo,
Du warst dicht dran!
aber auch nur fast, denn leider ist knapp daneben auch vorbei.  8)

Das Skript zum Erstellen der ~/.Xdbus:
#!/bin/bash
# file: export_x_info.sh
# Export the dbus session address on startup so it can be used by cron
touch $HOME/.Xdbus
chmod 600 $HOME/.Xdbus
env | grep DBUS_SESSION_BUS_ADDRESS > $HOME/.Xdbus
die ~/.Xdbus erhält durch chmod 600 Lese / Schreib Recht "-rw-------"
Edit:und gegenüber des vorherigen Scirpts fehlt die letzte Zeile:echo 'export DBUS_SESSION_BUS_ADDRESS' >> $HOME/.Xdbus
An die Arbeit......

...... Das Script: "export_x_info.sh" zum exportieren in /home/helmut/.Xdbus geändert,#!/bin/bash
# file: export_x_info.sh
# Export the dbus session address on startup so it can be used by cron
touch $HOME/.Xdbus
chmod 600 $HOME/.Xdbus
env | grep DBUS_SESSION_BUS_ADDRESS > $HOME/.Xdbus
passt.

aber in der crontab passt etwas nicht, crontab meldet nach Speichern einen Fehler:
~ $ crontab -e
crontab: installing new crontab
"/tmp/crontab.Uqmj1Y/crontab":7: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit? (y/n) y
crontab: installing new crontab
"/tmp/crontab.Uqmj1Y/crontab":7: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit? (y/n) y
crontab: installing new crontab
"/tmp/crontab.Uqmj1Y/crontab":7: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit? (y/n) y

#-----------------------------------------------------------------
# Shell variable for cron
SHELL=/bin/bash
# PATH variable for cron
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11

# Export DBUS_SESSION_ADRESS for mailnag
source /home/helmut/.Xdbus

#2 minütiger periodischer Start von mailnag
#M   S     T M W   Befehl
#-----------------------------------------------------------------
*/2     * * * *   DISPLAY=:0 /usr/bin/mailnag --quiet >> /home/helmut/mailnag.log 2>&1
alles Copy Paste und nochmal kontrolliert, wo steckt der Wurm?
« Letzte Änderung: 17.05.2018, 16:13:24 von kuehhe1 »

Wieder mein Fehler, sorry :(

Genau wie in der Anleitung, nach der wir uns richten, brauchen wir ein Script, um das "eigentliche" Programm (mailnag) aufzurufen (aka Wrapper)

Ich hab das diesmal auch selber getestet und bin mir ziemlich sicher, das es funktioniert ;)

Also hier nochmal Schritt für Schritt:

1.
Das Skript, dass die Datei ~/.Xdbus erstellt (Ich weiß nicht, wie du das Script genannt hast und ob du es bereits geschafft hast, es automatisch zu starten!?):
#!/bin/bash
# file: export_x_info.sh
# Export the dbus session address on startup so it can be used by cron
touch $HOME/.Xdbus
chmod 600 $HOME/.Xdbus
env | grep DBUS_SESSION_BUS_ADDRESS > $HOME/.Xdbus
echo 'export DBUS_SESSION_BUS_ADDRESS' >> $HOME/.Xdbus

2.
Die Datei ~/.Xdbus (von obigen Script erstellt)
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-some-long-complicated-name
export DBUS_SESSION_BUS_ADDRESS

3.
Das Script, dass mailnag startet (Ich habe es unter ~/bin/checkmail.sh gespeichert)
#!/bin/bash
source $HOME/.Xdbus
/usr/bin/mailnag --quiet

4. Das Skript ausführbar machen (geht auch per GUI, wenn dir das lieber ist)
chmod +x ~/bin/checkmail.sh

5. Die crontab bearbeiten:
#-----------------------------------------------------------------
# Shell variable for cron
SHELL=/bin/bash
# PATH variable for cron
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11
#2 minütiger periodischer Start von mailnag
#M   S     T M W   Befehl
#-----------------------------------------------------------------
*/2     * * * *   DISPLAY=:0 /home/helmut/bin/checkmail.sh >> /home/helmut/mailnag.log 2>&1

6.
Auf's Beste hoffen :)

Wenn das ganze funktioniert, versuche ich noch mal näher auf das wieso, weshalb, warum einzugehen

Zu 1. Den Namen des Skripts: "export_x_info.sh" dass die Datei ~/.Xdbus erstellt, hatte ich dem verlinkten Beispiel entnommen und es ausführbar gemacht, der Vorgang war mir bekannt. Und ich sehe gerade das die "export_x_info.sh" um die Letzte Zeile: "echo 'export DBUS_SESSION_BUS_ADDRESS' >> $HOME/.Xdbus" ergänzt wurde, da war zuvor der Fehlerteufel am Werk??
zu 2.-5. Bin deiner Top Anleitung Schritt für Schritt gefolgt und spar mir jetzt die ganzen Befehls Wiederholungen (alles Fehlerfrei).
zu 6. Die Hoffnung stirbt zuletzt  ;)

~ $ sudo systemctl status cron.service
● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
   Active: active (running) since Mi 2018-05-16 17:36:25 CEST; 4h 34min ago
     Docs: man:cron(8)
 Main PID: 1047 (cron)
   CGroup: /system.slice/cron.service
           ├─1047 /usr/sbin/cron -f
           ├─6807 /usr/sbin/CRON -f
           ├─6808 /bin/bash -c DISPLAY=:0 /home/helmut/bin/checkmail.sh >> /home/helmut/mailnag.log 2>&1
           ├─6809 /bin/bash /home/helmut/bin/checkmail.sh
           └─6810 /usr/bin/python /usr/bin/mailnag --quiet

Mai 16 21:42:35 K52jc-lm18 CRON[1542]: pam_unix(cron:session): session closed for user helmut
Mai 16 22:00:01 K52jc-lm18 CRON[6510]: pam_unix(cron:session): session opened for user root by (uid=0)
Mai 16 22:00:01 K52jc-lm18 CRON[6511]: (root) CMD (timeshift --check --scripted)
Mai 16 22:09:01 K52jc-lm18 cron[1047]: (helmut) RELOAD (crontabs/helmut)
Mai 16 22:10:01 K52jc-lm18 CRON[6807]: pam_unix(cron:session): session opened for user helmut by (uid=0)
Mai 16 22:10:01 K52jc-lm18 CRON[6808]: (helmut) CMD (DISPLAY=:0 /home/helmut/bin/checkmail.sh >> /home/helmut/mailnag.log 2>&1)
Mai 16 22:10:03 K52jc-lm18 mailnag[6810]: INFO (2018-05-16 22:10:03): Successfully enabled plugin 'dbusplugin'.
Mai 16 22:10:03 K52jc-lm18 mailnag[6810]: INFO (2018-05-16 22:10:03): Successfully enabled plugin 'soundplugin'.
Mai 16 22:10:03 K52jc-lm18 mailnag[6810]: INFO (2018-05-16 22:10:03): Successfully enabled plugin 'userscriptplugin'.
Mai 16 22:10:03 K52jc-lm18 mailnag[6810]: INFO (2018-05-16 22:10:03): Checking 1 email account(s).
Hey atze, was soll ich sagen, der periodische Start von mailnag funktioniert.  :-*
In diesem Fall, zur Email Abfrage, viel Aufwand seit Antwort #6.

Nun muss noch das Script: "export_x_info.sh" (bei dir:??) zum Auslesen der "DBUS_SESSION_BUS_ADDRESS" mit dem Systemstart aktiviert werden, also in Startprogramme einen Starter anlegen, siehe meine Notiz in Antwort #48. ;)


« Letzte Änderung: 17.05.2018, 18:18:23 von kuehhe1 »

Cool :) Funktionierts auch nach Neustart noch?

In dem Fall viel Aufwand seit Antwort #6
Wie du vielleicht gemerkt hast, ist das für mich auch keine alltägliche Aufgabe, daher war halt schon etwas Trail&Error nötig. Im nachhinein ärgert es mich etwas, dass ich nicht vorher auf die Idee gekommen bin, dass selber auszoprobieren.
Der einzige Unterschied in meinem Test-Setup ist in checkmail.sh, die sieht bei mir so aus:
#!/bin/bash
source $HOME/.Xdbus
echo DBUS_SESSION_BUS_ADDRESS : $DBUS_SESSION_BUS_ADDRESS

Und hier ist mein Logfile dazu:
DBUS_SESSION_BUS_ADDRESS :
DBUS_SESSION_BUS_ADDRESS :
DBUS_SESSION_BUS_ADDRESS :
DBUS_SESSION_BUS_ADDRESS :
DBUS_SESSION_BUS_ADDRESS :
DBUS_SESSION_BUS_ADDRESS :
DBUS_SESSION_BUS_ADDRESS :
DBUS_SESSION_BUS_ADDRESS : unix:path=/run/user/1000/bus
Wie man sieht: Es brauchte 8 Versuche, bis ich es hinbekommen habe :)

Edit: Gerade dein Edit gesehen.. Ich hab ehrlich keine Erfahrung mit Autostart.. Ich google mal eben

Cool  Funktionierts auch nach Neustart noch?
ich denke nicht, weil sich die DBUS-Adresse hier auf LM18.3 Cinnamon bei jedem Neustart ändert, lies mal meine vorherigen Hinweis [letzte Zeile).
« Letzte Änderung: 17.05.2018, 16:52:07 von kuehhe1 »

Hat sich etwas überschnitten.. Kurze Recherche brachte mich zu: https://www.seibotec.com/2014/02/linux-mint-cinnamon-programme-beim-login-automatsich-starten/

Zitat
Men klickt im Linux Mint Cinnamon unten links auf Menu und tippt als Begriff ins Suchfeld Start. Dann wird einem ein Menüpunkt Startprogramme angeboten. Wenn man da rein geht kann man über den Hinzufügen Knopf beliebige Programme eintragen die beim Login gestartet werden sollen.
Nach dem Klick auf "Hinzufügen" öffnet sich ein weiteres Fenster mit 3 Feldern, die wie folgt auszufüllen sind:

Name: Beliebig
Befehl: DEIN_SCRIPT_MIT_VOLLSTÄNDIGEM_PFAD
Kommentar: Beliebig


Hat sich etwas überschnitten.. Kurze Recherche brachte mich zu: https://www.seibotec.com/2014/02/linux-mint-cinnamon-programme-beim-login-automatsich-starten/
Ich danke Dir, das "Wie" ist bekannt aber die Seite ist mir "Neu".

Das Script: /home/helmut/bin/export_x_info.sh in Startprogramme hinzugefügt, Verzögerung auf 5s (warten auf DBUS-Daemon). Einige Neustarts um zu sehen ob es läuft, und siehe da es exportiert.

Hier mal eine Terminal Ausgabe von: "systemctl status cron.service" nach einem Neustart. Edit: Beim Vergleich der Startzeiten in der Systemüberwachung erkennt man gut das der DBUS-Daemon ca. 4 Sekunden für seinen Hochlauf benötigt, darum habe ich eine Verzögerung von 6s. im Starter für das Auslesen und Exportieren der "DBUS_SESSION_BUS_ADDRESS" eingefügt. Edit Ende
helmut@K52jc-lm18 ~ $ sudo systemctl status cron.service
[sudo] Passwort für helmut:
● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
   Active: active (running) since Mi 2018-05-16 22:56:01 CEST; 23s ago
     Docs: man:cron(8)
 Main PID: 982 (cron)
   CGroup: /system.slice/cron.service
           └─982 /usr/sbin/cron -f

Mai 16 22:56:01 K52jc-lm18 systemd[1]: Started Regular background program processing daemon.
Mai 16 22:56:02 K52jc-lm18 cron[982]: (CRON) INFO (pidfile fd = 3)
Mai 16 22:56:02 K52jc-lm18 cron[982]: (CRON) INFO (Running @reboot jobs)
#--
#  |
#   > zwischen diesen Beiden Ausgaben liegen 5 weitere Statusabfragen, Zeitraum=120s.
#  |
#--
helmut@K52jc-lm18 ~ $ sudo systemctl status cron.service
● cron.service - Regular background program processing daemon
   Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
   Active: active (running) since Mi 2018-05-16 22:56:01 CEST; 2min 1s ago
     Docs: man:cron(8)
 Main PID: 982 (cron)
   CGroup: /system.slice/cron.service
           ├─  982 /usr/sbin/cron -f
           ├─12280 /usr/sbin/CRON -f
           ├─12281 /bin/bash -c DISPLAY=:0 /home/helmut/bin/export_x_info.sh >> /home/helmut/mailnag.log 2>&1
           ├─12282 /bin/bash /home/helmut/bin/export_x_info.sh
           └─12283 /usr/bin/python /usr/bin/mailnag --quiet

Mai 16 22:56:01 K52jc-lm18 systemd[1]: Started Regular background program processing daemon.
Mai 16 22:56:02 K52jc-lm18 cron[982]: (CRON) INFO (pidfile fd = 3)
Mai 16 22:56:02 K52jc-lm18 cron[982]: (CRON) INFO (Running @reboot jobs)
Mai 16 22:58:01 K52jc-lm18 CRON[12280]: pam_unix(cron:session): session opened for user helmut by (uid=0)
Mai 16 22:58:01 K52jc-lm18 CRON[12281]: (helmut) CMD (DISPLAY=:0 /home/helmut/bin/checkmail.sh >> /home/helmut/mailnag.log 2>&1)
Mai 16 22:58:01 K52jc-lm18 mailnag[12283]: INFO (2018-05-16 22:58:01): Successfully enabled plugin 'dbusplugin'.
Mai 16 22:58:01 K52jc-lm18 mailnag[12283]: INFO (2018-05-16 22:58:01): Successfully enabled plugin 'soundplugin'.
Mai 16 22:58:01 K52jc-lm18 mailnag[12283]: INFO (2018-05-16 22:58:01): Successfully enabled plugin 'userscriptplugin'.
Mai 16 22:58:01 K52jc-lm18 mailnag[12283]: INFO (2018-05-16 22:58:01): Checking 1 email account(s).
Die erste mailnag Aktivierung durch cron erfolgt nach 2min. danach gehts periodisch mit der im cronjob eingestellten Zeit */2 weiter.
Der Job beginnt quasi mit einer Pause, ich schau mal in cron nach ob ich das Ändern kann.

Alles wird gut und für Heute ist Schluss, guats Nächtle.
« Letzte Änderung: 18.05.2018, 13:54:26 von kuehhe1 »

Moin,

Um die DBUS-Daemon/cron "Startverzögerung" besser kontrollieren zu können habe ich im crontab die Zeit auf */15 gesetzt und konnte feststellen das cron den mailnag erstmalig nach 15 min. antriggert. Was insoweit korrekt ist, aber ich entnahm der UU-Wiki Beschreibung aus das "alle */X Minuten" bedeutet das der erste Befehl beim ersten Start von cron und danach periodisch erfolgt. Nach Neustart möchte ich schon sofort eine Info über neue Email erhalten.

Andererseits bringt in crontab die Einstellung anstatt einer Zeit "*/X" auf "@reboot" (=ausführen bei Neustart), nicht das gewünschte Ergebnis da das Script "export_x_info.sh" wegen des noch nicht vollends gestarteten DBUS-Daemon dessen DBUS-Adresse nicht auslesen konnte und somit cron die "mailnag" zwar angetriggert aber der Befehl nicht umgesetzt wird. Während dieser Startverzögerung, wegen des nicht laufenden mailnag-Dienstes, zeigt das mailnag-Leisten-Icon einen Warnhinweis in Form zweier "!!" an. ::)

Insofern kann ich mein Vorhaben, "mailnag" periodisch erneut zu starten, nur dadurch umsetzen "mailnag" erstmalig mit einem Starter in Startprogramme zu starten und zusätzlich mit dem "cronjob" periodisch zu aktivieren. Hab ich getestet und funktioniert. Das alles lässt sich aber um vieles einfacher mit einem Script aus Antwort #6 lösenwelches einmalig über Startprogramme ausgeführt wird.

Resümee:
1. cron ist zur Email-Benachrichtigung mit der GNOME Anwendung "mailnag" in Zusammenhang mit DBUS nicht von Vorteil.
2. Mit gnome-schedule sind keine Befehle in der crontab wie "@reboot", "@daily" oder "@hourly" möglich.
3. ich musste erfahren das grafischen Anwendungen, auch wenn sie im Hintergrund mit "--quiet" gestartet werden sollen, dem Befehl ein "DISPLAY=:0" voraus gestellt werden muss z.B.: DISPLAY=:0 /usr/bin/mailnag --quiet.

So gesehen habe ich zwar Lehrgeld bezahlt, aber vieles an Erkenntnissen gewonnen. 8)
Falls hier nichts mehr kommt möchte ich allen Helfern danken, vor allem @atze der sich mächtig ins Zeug gelegt hat.  ;)

Meinerseits Thema [gelöst]. Edit: 26.05.2018
« Letzte Änderung: 26.05.2018, 08:21:42 von kuehhe1 »