Software » Cron qui ne démarre pas le programme
Catégorie:  
   
Cron qui ne démarre pas le programme
Publié le 30/04/2008 @ 12:28:24,
Par Repi
Bjr,

Mon systme est Linux et je n'arrive pas à utiliser un script shell avec un cron, script qui fonctionne pourtant très bien losque je l'exécute manuellement.

Le fichier log se crée, la première commande s'exécute, mais pas le lancement du programme. Pour être sûr qu'il ne s'agissait pas d'un problème de droits, j'ai utiliser l'utilisateur root.

Mon crontab est :

21 12 * * * /home/pire/tv.cmd >>/home/pire/fichier.log

Mon sript "tv.cmd" est en mode 755 et il contient :


#!/bin/sh
killall vlc
echo /home/pire
/usr/local/bin/vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}

Alors quand le cron s'exécute killall fonctionne, echo /home/pire (qui sert à rien à par comme testeur) fonctionne, mais pas le lancement du programme.

Merci pour votre aide, car là, ça fait au moins 12 heures que je cherche et je n'ai plus aucune idée.
   
Cron qui ne démarre pas le programme
Publié le 30/04/2008 @ 13:03:44,
Par max
Crontab utilise un environnement minimaliste, essaye en ajoutant cette ligne dans ton script, avant de lancer VLC:


export DISPLAY=:0.0

Dernière édition: 30/04/2008 @ 13:04:36
Trololo
   
Cron qui ne démarre pas le programme
Publié le 30/04/2008 @ 13:22:57,
Par etik
Un bon truc aussi est de lancer l'environnement de l'utilisateur qui utilise le script en temps normal.

donc rajoute dans le script

. <home_du_user>/.profile

Le cron utilise le /etc/profile mais pas le profile du user.

Ou alors un su vers l'utilisateur du script dans le cron, de cette facon le .profile est execute.

* * 1 2 3 su - <user> -c "<tonscript>"

Dernière édition: 30/04/2008 @ 13:31:45
   
Cron qui ne démarre pas le programme
Publié le 30/04/2008 @ 14:04:34,
Par Repi
Crontab utilise un environnement minimaliste, essaye en ajoutant cette ligne dans ton script, avant de lancer VLC:


export DISPLAY=:0.0


ça ne marche pas.
   
Cron qui ne démarre pas le programme
Publié le 30/04/2008 @ 14:09:35,
Par max
Le script fonctionne 'tout seul' ? Il ne manquerait pas un ' à la fin de la ligne de commande de vlc ? (ou bien c'est le résultat d'un copié/collé chaotique sur le forum et ma remarque n'a plus raison d'être)


Que disent les logs (rien à mon avis :/)
Essaye aussi ceci pour voir si tu n'as pas d'autres messages d'erreur:


21 12 * * * /home/pire/tv.cmd >>/home/pire/fichier.log 2> /home/pire/maxestunbonpetitgars.log
Trololo
   
Cron qui ne démarre pas le programme
Publié le 30/04/2008 @ 14:11:56,
Par Repi
Un bon truc aussi est de lancer l'environnement de l'utilisateur qui utilise le script en temps normal.

donc rajoute dans le script

. <home_du_user>/.profile

Le cron utilise le /etc/profile mais pas le profile du user.

Ou alors un su vers l'utilisateur du script dans le cron, de cette facon le .profile est execute.

* * 1 2 3 su - <user> -c "<tonscript>"


J'ai mis la deuxième possibilité mais ça ne marche pas.

Quand à" . <home_du_user>/.profile " avec root je sais pas comment suivre ton conseil. Peux-tu me donner plus de détail ? merci.

Mes fichier sont maintenant :

Pour crontab :
2 14 * * * su - root -c "/home/pire/tv.cmd" >>/home/pire/fichier.log
Pour le scrip (tv.cmd):
#!/bin/sh
killall vlc
export DISPLAY=:0.0
/usr/local/bin/vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'

Le script s'exécute toujours de façon manuelle.

Lorsque je le lance dans le Putty et que je ferme la connexion, vlc s'éteind. Peut-être que lorsque je lance le programme par le cron et comme il n' y a pas de fenêtre ouvert avec le Putty il ne s'allume pas !?? Je ne sais pas comment vérifié celà.

Dernière édition: 30/04/2008 @ 14:15:02
   
Cron qui ne démarre pas le programme
Publié le 30/04/2008 @ 14:12:59,
Par ovh
Précise les chemins pour TOUS les programmes que tu lances.

Exemple :
killall >> /usr/bin/killall

Souvent en cron c'est ça qui foire, il ne reconnaît aucun path.
Je n'ai rien à voir avec www.ovh.com
   
Cron qui ne démarre pas le programme
Publié le 30/04/2008 @ 14:14:12,
Par zion

Lorsque je le lance dans le Putty et que je ferme la connexion, vlc s'éteind.


Ajoute un & à la fin de ta commande simplement.
Sinon CTRL + Z puis bg %1 :smile:
Je suis le Roy :ocube:
   
Cron qui ne démarre pas le programme
Publié le 30/04/2008 @ 23:13:09,
Par Repi
Que disent les logs (rien à mon avis :/)
Essaye aussi ceci pour voir si tu n'as pas d'autres messages d'erreur:


21 12 * * * /home/pire/tv.cmd >>/home/pire/fichier.log 2> /home/pire/maxestunbonpetitgars.log


Oui, Il y a un message d'erreur dans le nouveau fichier log :

Je vois que vlc s'initialise et inscrit :
Error opening terminal: Unknown

sans poursuivre de se lancer.

Je ne sais pas de quoi ça vient ?

Dernière édition: 30/04/2008 @ 23:42:08
   
Cron qui ne démarre pas le programme
Publié le 30/04/2008 @ 23:44:27,
Par Repi


Ajoute un & à la fin de ta commande simplement.
Sinon CTRL + Z puis bg %1 :smile:


J'ai ajouter & et il s'éteind tjrs. J'ai essayer avec :

vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'&

mais aussi avec :

vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}&'
   
Cron qui ne démarre pas le programme
Publié le 01/05/2008 @ 01:45:41,
Par Repi
Voila, j'ai trouvé la solution et elle tourne au tour de l'interface de commande, donc bel et bien un rapport avec l'écran Putty.

Avec la commande dans mon script :
/usr/local/bin/vlc /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'
Vlc choisit une interface la plus appropriée selon lui(sortie http,interface de commande), dans mon cas l'écran du Putty. Lorsque l'on fait un cron, il ne trouve pas d'écran à afficher -> Erreur et il refuse de se lancer.

Si je rajoute -I dummy à ma commande, ce qui me donnera :
/usr/local/bin/vlc -I dummy /home/pire/TV/Film/Crame.wmv --loop --sout '#transcode{acodec=mp3,ab=128,channels=2,width=320,height=240}:std{access=mmsh,m- ux=asfh,dst=:8060}'

je force vlc à ne pas afficher d'interface. Le & de Zion n'a pas d'effet. Merci à Max qui m'as bcp aidée et au autres aussi. Voila après 15 heures env. de recherche, le dossier est classé. Putain ça fait du bien.

Dernière édition: 01/05/2008 @ 14:26:25
   
Cron qui ne démarre pas le programme
Publié le 01/05/2008 @ 11:54:48,
Par zion
Le & c'était pour toi en ligne de commande, sous putty ainsi que le ctrl+z et bg %1, pas pour ton script :smile:

Mais content que cela fonctionne.
Je suis le Roy :ocube:
   
Cron qui ne démarre pas le programme
Publié le 01/05/2008 @ 14:26:53,
Par Repi
Merci Zion.
   
Cron qui ne démarre pas le programme
Publié le 06/10/2008 @ 20:51:32,
Par FA
Bonjour,

J'ai exactement le même souci ; j'ai suivi les mêmes consignes et vlc refuse de faire quoique ce soit en tâche.
Éventuellement, lancé à la main il fait un semblant de capture du flux.

export DISPLAY=":0.0"; export XAUTHORITY=/home/florent/.Xauthority; /usr/bin/vlc /home/florent/Vidéo/magneto.m3u >/home/florent/Vidéo/log.txt 2>&1 &

Lancé en root me crée une capture de 4 octets ! Pas de message d'erreur, pas d'arrêt du programme.

Via le script, en root,
#!/bin/sh
echo "début tâche"
killall vlc
echo "vlc tué"
export DISPLAY=":0.0"
echo "display changé"
export XAUTHORITY=/home/florent/.Xauthority
echo "authentification"
/usr/bin/vlc -I dummy /home/florent/Vidéo/magneto.m3u >/home/florent/Vidéo/log.txt 2>&1
echo "vlc lancé"

Idem sauf que j'ai des messages :

tail: /home/florent/Vidéo/log.txt: fichier tronqué
[00000274] dummy interface: using the dummy interface module...
[00000314] mux_ps private: Open
[00000303] main input error: no suitable access module for `rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=s- d'
[00000314] mux_ps private: Close
[00000268] main playlist: nothing to play
signal 2 received, terminating vlc - do it again in case it gets stuck
[00000268] main playlist: stopping playback


Puisqu'il me dit "nothing to play", je vérifie le contenu de mon m3u :

#EXTM3U
#EXTVLCOPT:demux=podcast

#EXTVLCOPT:sout=#transcode{vcodec=mp1v,vb=1024,scale=1,acodec=mp3,ab=192,channels=- 2}:duplicate{dst=std{access=file,mux=mpeg1,dst=/home/florent/Vidéo/emission.mpe- g}}
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=sd


Celui-ci fonctionne parfaitement bien dès lors que je l'ouvre depuis VLC lancé depuis gnome : il y a donc bien quelque chose à jouer.


Quant au cron, que ce soit pour lancer magneto.m3u ou directement
48 19 * * * florent -c export DISPLAY=":0.0"; export XAUTHORITY=/home/florent/.Xauthority; /usr/bin/vlc -I dummy /home/florent/Vidéo/magneto.m3u >/home/florent/Vidéo/log.txt 2>/tmp/vlc.txt &

Le résultat est le même.


Parfois, j'ai réussi à lancer vlc et obtenir une capture, mais c'était sous mon compte et en session graphique.



Actuellement, après une heure de manip et 10 000 tests, j'obtiens avec
/usr/bin/vlc /home/florent/Vidéo/magnetoArtesansimage.m3u >/home/florent/Vidéo/vlc.txt 2>&1 &
L'erreur
00000274] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000293] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000272] main input error: no suitable access module for `'
[00000316] mux_ps private: Open
[00000305] main input error: no suitable access module for `rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=s- d'
[00000316] mux_ps private: Close
[00000320] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000321] vcdx access error: unknown ID encountered -- maybe not a proper (S)VCD?
[00000319] main input error: no suitable access module for `'
[00000268] main playlist: nothing to play


Quelle est la solution svp ?

F.A.
Répondre - Catégorie:  
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?