web-dev-qa-db-fra.com

Comment exécuter un script bash ou python via cron, visible sur le bureau local

J'ai un serveur de production qui exécute plusieurs scripts bash sur le bureau local. Deux scripts sont exécutés tout le temps et n'ont pas besoin d'être arrêtés. J'ai un troisième script Python que je dois commencer à 9 heures. Il se ferme automatiquement à 1h30.

Si j'ajoute ce qui suit à mon fichier cron, il lance avec succès le bloc-notes.

* * * * * env DISPLAY=:0 leafpad

Par exemple, cela ne fonctionne pas:

* * * * * env DISPLAY=:0 /bin/bash

J'ai essayé

* * * * * env DISPLAY=:0 /usr/bin/python /scripts/mypython.py

et le script démarre (envoie un courrier électronique de démarrage), mais ne s'exécute pas sur le bureau. Qu'est-ce que je rate?

4
user38537

leafpad a une interface graphique, /bin/bash et /usr/bin/python not. Vous avez besoin d'un émulateur de terminal, par exemple lxterm.

* * * * * env DISPLAY=:0 lxterm -e "/bin/bash -c '/usr/bin/python /scripts/mypython.py'"

ou une bash:

* * * * * env DISPLAY=:0 lxterm -e "/bin/bash"
4
A.B.