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?


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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.