Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Crontab en terminal window.  (gelezen 1298 keer)

Offline Kurt DM

  • Lid
Crontab en terminal window.
« Gepost op: 2014/10/14, 19:58:30 »
Ik probeer mijn backup command file met rsync automatisch te laten lopen met crontab. Als eerste test heb ik volgende lijn in /var/spool/cron/crontabs/'gebruiker' gezet:
* * * * * export DISPLAY=:0.0 && echo "Het werkt".
Ik verwacht elke minuut "Het werkt" in een terminal window te zien maar dit gebeurt niet. Weet iemand wat er fout is aan wat ik doe?

Offline Kurt DM

  • Lid
Re: Crontab en terminal window.
« Reactie #1 Gepost op: 2014/10/14, 20:16:44 »
Ondertussen reeds met de info hier en in google de lijn aangepast met

* * * * * export DISPLAY =:0.0 /bin/echo "Het werkt"

maar ook dat helpt niet.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Crontab en terminal window.
« Reactie #2 Gepost op: 2014/10/14, 20:52:03 »
Je moet wel het terminalprogramma openen, anders is er geen terminal om je echo in weer te geven.
Zoiets zou dus wel kunnen werken:
export DISPLAY =:0.0 /usr/bin/gnome-terminal -e "commando dat je uit wil voeren"

En je moet niet /var/spool/cron... zelf bewerken maar je moet het crontab commando gebruiken om je cronjobs aan te passen.

Offline MKe

  • Lid
Re: Crontab en terminal window.
« Reactie #3 Gepost op: 2014/10/15, 11:32:40 »
Inderdaad,
allereerst om crontab te bewerken moet jede volgende commando uitvoeren:
$ crontab -e
je zou kunnen proberen om je echo naar een logfile te verwijzen, zodat je daar het commando ziet. Een andere mogelijkheid is pipen naar wall:
$ echo "Het werkt" |  wallDit zou "Het werkt" op alle open terminalschermen moeten laten zien. Let op, dit gaat echt naar alle users die op de computer actief zijn.

Offline Kurt DM

  • Lid
Re: Crontab en terminal window.
« Reactie #4 Gepost op: 2014/10/15, 17:02:22 »
Inderdaad Mke, je tip met de pipe met wall geeft elke minuut "Het werkt " op mijn open terminal.
De bedoeling is echter dat mijn backup command filetje op een gegeven moment (nu in test elke minuut) een terminal window opstart en aan de gebruiker vraagt om een usb in te steken, en daarna een backup te starten. Het command filetje werkt reeds een tijd goed interaktief met een item op het bureaublad. Het enige dat ik wil is dat vanuit crontab een terminal geopend wordt waarin dit filetje gestart wordt. Daarom deze test. Voorlopig werkt hetgeen Johan aangeeft nog niet. Ik probeer nog verder. Moet misschien ook voor alle zekerheid de crontab deamon herstart worden en indien ja met welk commando?

Offline Moob

  • Lid
Re: Crontab en terminal window.
« Reactie #5 Gepost op: 2014/10/15, 20:55:21 »
Wijzig
* * * * * export DISPLAY =:0.0 /bin/echo "Het werkt"
in
*/1 * * * * export DISPLAY =:0.0 /bin/echo "Het werkt"
en dan zal dit elke minuut door crontab worden uitgevoerd.

Meer informatie over crontab kan je vinden op https://help.ubuntu.com/community/CronHowto

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Crontab en terminal window.
« Reactie #6 Gepost op: 2014/10/15, 22:08:06 »
Is het niet handiger om met Zenity een dialoogvenster te maken? Dan krijgt de gebruiker een gewoon venster te zien en kan op OK of annuleren drukken (of iets anders wat je instelt).

Offline Kurt DM

  • Lid
Re: Crontab en terminal window.
« Reactie #7 Gepost op: 2014/10/16, 12:58:17 »
Inderdaad Johan, zenity is blijkbaar iets moois. Maar zowel met zenity als met gnome-terminal heb ik hetzelfde fenomeeen; doe ik iets met deze commando's vanuit een terminalwindow dan werken ze, doe ik iets vanuit crontab dan werken ze niet. Enkel het commando met wall werkt op dit moment vanuit crontab.

De commandos die werken met de hand vanuit een terminal window:
zenity --info --text="Het werkt"
gnome-terminal -e "pad naar een script"

Goede info over zenity is bv. te vinden op http://www.linux.org/threads/zenity-gui-for-shell-scripts.5567/

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Crontab en terminal window.
« Reactie #8 Gepost op: 2014/10/16, 13:21:37 »
Dit werkt hier bij mij:
*/2 *   *   *   *       zenity --error --text='Dit is een testbericht' --display=:0.0

Dit is wel in de crontab van mijn eigen gebruiker, niet die van root.
Draait het script wel als root dan kan je hier kijken.

Offline Kurt DM

  • Lid
Re: Crontab en terminal window.
« Reactie #9 Gepost op: 2014/10/16, 13:41:24 »
Ja Johan, ik had ondertussen ook op internet gevonden dat --display=:0.0 nodig was en inderdaad, het werkt zo. Ik ga nu mijn backup script aanpassen met zenity. De output van het rsync commando kan ik vermoedelijk mooi op het scherm toveren met --list --column=$(rsync etc). Als je het relevant vindt post ik het uiteindelijke resultaat.