#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
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
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 : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde 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...
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 !
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
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.
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