Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/08/2012, à 19:46

DCUPLE

Mais comment faire fonctionner CRON ? [RESOLU]

Bonjour,

Voilà plusieurs jours que je tente de lancer des commandes automatisées avec cron, sans succès.


J'en suis là :

J'ouvre crontab -e

J'enregistre :


19 19 * * * gedit
22 19 * * * pkill gedit


à 19h19, gedit ne s'ouvre pas...
alors je l'ouvre moi même avec la console une minute après : gedit
à 19h22, gedit se ferme bien !?



Autre test :

mon but est de lancer une vidéo à une certaine heure

je lance crontab -e

j'enregistre : 50 19 * * * mplayer -fs -loop 0 /home/pierre/video1

la vidéo ne se lance pas :-(

je tente la même commande en root et enregistre la même commande avec : sudo crontab -e

dans ce cas l'ordi plante : écran noir et petit tiré en haut à gauche.

mais comment faire fonctionner cron ?



Merci pour votre aide

Dernière modification par DCUPLE (Le 26/10/2013, à 16:35)


L'Entraide, un facteur de l'évolution. MERCI

Hors ligne

#2 Le 30/08/2012, à 20:03

Pacifick_FR42

Re : Mais comment faire fonctionner CRON ? [RESOLU]

Aucun de ses teste ne peuvent fonctionner... cron ne peux pas ouvrir une appli graphiques... donc dis nous plutôt ce que tu cherches à faire wink

Hors ligne

#3 Le 30/08/2012, à 20:52

DCUPLE

Re : Mais comment faire fonctionner CRON ? [RESOLU]

C'est pourtant ce que je souhaite réaliser : lancer une vidéo en plein écran à un moment donné avec mplayer, puis l'arrêter. Lancer une série de diapo avec feh à un autre moment, etc.

Je pensais que c'était possible avec cron...

Sinon y a t il une autre façon pour arriver à ce résultat ?

merci smile


L'Entraide, un facteur de l'évolution. MERCI

Hors ligne

#4 Le 30/08/2012, à 21:03

Pacifick_FR42

Re : Mais comment faire fonctionner CRON ? [RESOLU]

Avec cron, c'est possible... mais pas simple, regarde dans la doc ou le forum, c'est déjà traité.
Je crois qu'il existe une appli graphique du genre shcedule...

Hors ligne

#5 Le 31/08/2012, à 00:06

nesthib

Re : Mais comment faire fonctionner CRON ? [RESOLU]

pour commencer tu as sûrement un problème de PATH, par défaut cron ne sait pas forcément où trouver tes applications.
2 solutions :

  • ajouter un PATH à ton crontab en faisant précéder les entrées par exemple par

    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  • expliciter le chemin absolu du programme :

    /usr/bin/gedit

pour les applis graphiques, il faut dire sur quel serveur X afficher le programme. Ici encore 2 solutions :

  • définir avant les entrées :

    DISPLAY=:0
  • expliciter l'affichage uniquement pour la commande :

    DISPLAY=:0 /usr/bin/gedit

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#6 Le 31/08/2012, à 00:27

Haleth

Re : Mais comment faire fonctionner CRON ? [RESOLU]

En gros, la commande dans ton crontab devient:

19 19 * * * DISPLAY=:0 /usr/bin/gedit

Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#7 Le 31/08/2012, à 00:28

nesthib

Re : Mais comment faire fonctionner CRON ? [RESOLU]

en gros wink


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#8 Le 31/08/2012, à 00:29

Pacifick_FR42

Re : Mais comment faire fonctionner CRON ? [RESOLU]

oui, c'est ça... wink

Hors ligne

#9 Le 31/08/2012, à 10:10

DCUPLE

Re : Mais comment faire fonctionner CRON ? [RESOLU]

BRAVO !

J'ai compris. Vous êtes magnifique, ça fonctionne.


Il faut donc spécifier où ce trouve les applications (et je ne savais pas qu'elles étaient regroupées dans le fichier usr/bin

Le PATH avait bien ce chemin dans la liste.

Pour lancer une vidéo cela fonctionne parfaitement, on enregistre dans crontab, soit via la console crontab -e
soit en mode graphique avec Tâches planifiées (gnome-schedule) :

10 10 * * * DISPLAY=:0 /usr/bin/mplayer mplayer -fs /chemin/vers/video1

et ça marche nikel ! wink


MERCI BEAUCOUP


L'Entraide, un facteur de l'évolution. MERCI

Hors ligne

#10 Le 31/08/2012, à 10:14

DCUPLE

Re : Mais comment faire fonctionner CRON ? [RESOLU]

Au fait comment modifier le titre du sujet pour ajouter  [Résolu] ?


L'Entraide, un facteur de l'évolution. MERCI

Hors ligne

#11 Le 31/08/2012, à 10:26

Pacifick_FR42

Re : Mais comment faire fonctionner CRON ? [RESOLU]

Il te faut éditer ton premier message wink

Hors ligne

#12 Le 17/01/2013, à 17:26

DCUPLE

Re : Mais comment faire fonctionner CRON ? [RESOLU]

Bonjour,

Je souhaite pouvoir arrêter le daemon cron qui me lance en boucle des programmes graphiques (mplayer et feh) le tant nécessaire pour réaliser une mise à niveau complète. Je ne veux pas toucher à la configuration.

Alors, je fais :

pierre@pierre-MacBook:~$ /etc/init.d/cron stop
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cron stop

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) utility, e.g. stop cron
stop: Rejected send message, 1 matched rules; type="method_call", sender=":1.83" (uid=1000 pid=8190 comm="stop cron ") interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")

ou

pierre@pierre-MacBook:~$ service cron stop
stop: Rejected send message, 1 matched rules; type="method_call", sender=":1.84" (uid=1000 pid=8204 comm="stop cron ") interface="com.ubuntu.Upstart0_6.Job" member="Stop" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")

En root (les programmes ne sont pas enregistrés en root), cela donne :

pierre@pierre-MacBook:~$ sudo /etc/init.d/cron stop
[sudo] password for pierre: 
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cron stop

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) utility, e.g. stop cron
cron stop/waiting

Une idée ?
Merci de votre aide précieuse. wink


L'Entraide, un facteur de l'évolution. MERCI

Hors ligne

#13 Le 17/01/2013, à 18:13

DCUPLE

Re : Mais comment faire fonctionner CRON ? [RESOLU]

je poste ici, comme c'est dans la continuité de mon premier message


L'Entraide, un facteur de l'évolution. MERCI

Hors ligne

#14 Le 17/01/2013, à 18:40

Haleth

Re : Mais comment faire fonctionner CRON ? [RESOLU]

pierre@pierre-MacBook:~$ sudo /etc/init.d/cron stop
[sudo] password for pierre: 
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cron stop

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) utility, e.g. stop cron
cron stop/waiting

Comme écrit en bas, il est stop/waiting.

En root (les programmes ne sont pas enregistrés en root), cela donne :

Peut-être, mais le daemon est exec par root. Seul root peut donc manipuler ces processus.


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#15 Le 17/01/2013, à 19:22

DCUPLE

Re : Mais comment faire fonctionner CRON ? [RESOLU]

Si stop/waiting ne s'applique que pour les commandes root, je dois enregistrer mes commandes dans

sudo crontab -e

Mais voilà, chez moi les applications graphiques ne répondent que lorsqu'elles sont enregistrées dans

crontab -e

je teste avec un lecteur audio play/pause chaque minute

* * * * * DISPLAY=:0 /usr/bin/audacious -t

Comment puis-je faire fonctionner ce type de commandes en root ? Merci


L'Entraide, un facteur de l'évolution. MERCI

Hors ligne

#16 Le 17/01/2013, à 20:31

Haleth

Re : Mais comment faire fonctionner CRON ? [RESOLU]

Si stop/waiting ne s'applique que pour les commandes root, je dois enregistrer mes commandes dans

Non.
T'as un daemon, qui lit la conf, et execute des machins quand tu lui dit.
Ce daemon est exec par root.

Après, t'as les machins, tâches défini par toi ou autre, qui sont executé par root, par toi, par un autre utilisateur.
Le contrôle du daemon se fait via root uniquement.

Bref, sudo /etc/init.d/cron stop est bien pour eteindre cron.


Ubuntu is an ancien African word which means "I can't configure Debian"

Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.

Hors ligne

#17 Le 18/01/2013, à 02:13

DCUPLE

Re : Mais comment faire fonctionner CRON ? [RESOLU]

OK, mais je truc c'est que lorsque cron semble éteint comme ça :

pierre@pierre-MacBook:~$ sudo /etc/init.d/cron stop
[sudo] password for pierre: 
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service cron stop

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) utility, e.g. stop cron
cron stop/waiting

En fait il ne l'est pas puisque les taches continuent à se lancer normalement.

Sinon, je vais les enlever de la crontab le temps de la mise à jour et les remettre après.


L'Entraide, un facteur de l'évolution. MERCI

Hors ligne