Bonjour j'ai un problème de compréhension avec crontab:
chmod +x monScript.sh
crontab -e
05 13 * * * /home/monScript.sh >>/home/test.log
mon script :
#!/bin/bash
/home/./xflux -l 48.8534100 -g 2.3488000
echo "flux est lancé"
J'obtiens bien dans le log un retour de flux ainsi que de la commande echo mais flux ne se lance pas.
Même chose avec n'importe quel script ou commande
# Bonjour
Posté par Marotte ⛧ . Évalué à 2. Dernière modification le 30 avril 2016 à 14:08.
Qu’as-tu comme sortie de xflux dans ton fichier log ?
Une idée comme ça… ce programme nécessite sûrement d’être lancé sous X, or ce n’est pas le cas si tu le lances à l’aide de cron (en tous cas pas simplement comme ça).
Étonnant… crond est bien lancé ?
Par ailleurs si j’en crois le wiki de Arch :
https://wiki.archlinux.org/index.php?title=Backlight&redirect=no#Xflux
Pour dire qu’utiliser cron pour lancer ce genre de programme ce ne doit pas être une bonne solution… Tu n’as pas un script d’init pour xflux ? Est-ce que ce programme a une interface de configuration ?
Ton exécutable xflux est dans ton dossier /home/nocrazy/Documents ? o_O
Autre chose, tu peux utiliser 2>&1 à la fin d’une commande pour rediriger la sortie d’erreur sur la sortie standard (qui est, elle, redirigée dans ton fichier grâce au ">> fichier.log")
# err
Posté par jemore . Évalué à 1.
Rajoute dans la crontab la redirection du flux d'erreur dans le flux standard. Comme cela, tu verra si une erreur se produit :
05 13 * * * /home/monScript.sh >>/home/test.log 2>&1
# ca fonction avec DISPLAY
Posté par nocrazy . Évalué à 1.
Merci pour vos réponses.
Il fallait rajouter Display:0.0 de cette façon:
42 21 * * * DISPLAY=:0.0 /home/./fluxStart.sh >>/home/cron.log 2>&1
Display doit servir à indiquer l'écran.
Par contre ça ne fonctionne toujours pas au démarrage du pc avec @reboot en paramètre:
@reboot DISPLAY=:0.0 /home/./fluxStart.sh >>/home/cron.log 2>&1 :(
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.