redirection de la sortie dans crontab

0

J'ai un script shell pour surveiller les statistiques de la table et les applications java. Cela fonctionne bien quand je cours manuellement. Mais si je le mets dans la crontab, il restera bloqué si je ne redirige pas sa sortie avec la export displaycommande. Une idée pourquoi?

ivcode
la source
Tu veux dire export DISPLAY? Cela ressemble à une application X Windows, il faut donc connaître le serveur X pour afficher la fenêtre. DISPLAYest normalement défini lorsque vous vous connectez à une interface graphique, et cron ne fait pas partie d'une session d'interface graphique.
Barmar
Cela aiderait si vous postez la commande complète.
Barmar
heres the cron job*/2 * * * * export DISPLAY=:1.0 && gnome-terminal -x /path/script.sh
ivcode
Comment vous attendez-vous à ce que gnome-terminal, dont le but principal est d'ouvrir une fenêtre d'émulateur de terminal à l'écran, fonctionne sans régler DISPLAY?
Barmar
Eh bien, j'ai ouvert l'affichage '1' et cronjob semble fonctionner. Mais le problème est que, si j'ajoute une tâche cron pour le même script sans le diriger vers un affichage (ex: * / 2 * * * * /path/script.sh), le script restera bloqué au milieu de son exécution
ivcode

Réponses:

0

La commande devrait être:

DISPLAY=:1.0 gnome-terminal -x /path/script.sh

Gnome-terminal étant une application X, il utilise la DISPLAYvariable d'environnement pour se connecter au serveur X et afficher ses fenêtres. Pour définir une variable d'environnement pour la durée d'une seule commande, placez l'affectation de variable au début de la ligne de commande.

Barmar
la source