Commande crontab

Résolu/Fermé
saraseff Messages postés 125 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 27 avril 2013 - 11 janv. 2010 à 16:12
saraseff Messages postés 125 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 27 avril 2013 - 11 janv. 2010 à 23:11
Bonjour,
Je veux tester la commande crontab alors j'ai fait crontab -e pour me donner l'éditeur puis j ai écrit juste pour voir si sa allait marcher: 55 15 * * * echo hello

Bon j'ai fait sa avant 15H55 bien sur mais rien et puis je ne sais pas où le chercher pourtant quand j'ai fermé et enregistré on a affiché le crontab est installé!

Je sens que j'ai râté quelque chose
Merci pour votre attention.

10 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
11 janv. 2010 à 16:30
Salut,

Il manque juste le fait de lui dire où il doit afficher le résultat de la commande "echo", sur quel terminal... ;-((
0
Salut,

Si tu veux juste tester que ton cron fonctionne il suffit de mettre plutôt
*/1 * * * * echo hello

et ensuite lancer en root la commande tail -f /var/log/syslog pour voir que ta commande est exécutée par cron.
En revanche le résultat de la commande n'est ni capturé ni enregistré dans un fichier log.
N'oublie pas de supprimer le cron après avoir tester.
0
saraseff Messages postés 125 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 27 avril 2013 2
11 janv. 2010 à 21:30
Moi qui croyait qu'une minite c'était court :)
Bon voilà j' ai fait crontab -e puis j'ai tapé la commande que tu m'as donné pour pouvoir tester ,je suis allé voir dans le syslog et effectivement à chque minute il lance echo hello.

Par contre j'aimerai bien pouvoir l'enregistrer dans un fichier avec un nom que je choisirai est-ce possible?
Et encore une question quand je lance l'éditeur il me donne d'abord un choix à faire à propos de quel éditeur je veux utiliser,est-ce que je pourrai sauter cette étape et lancer la commande avec le choix?
0
Urielxx Messages postés 190 Date d'inscription mardi 26 août 2008 Statut Membre Dernière intervention 25 juin 2013 46
11 janv. 2010 à 21:58
Pour ecrire dans un fichier, il faut utiliser la syntaxe du shell suivante :

*/1 * * * * echo hello > /tmp/fichier

si tu veux remettre le fichier à zero à chaque écriture, ou

*/1 * * * * echo hello >> /tmp/fichier

si tu veux écrire à la fin du fichier.

Pour tes tests, tu peux utiliser la commande "date" plutot que "echo", ça t'évitera de te demander de quand date la ligne dans ton fichier ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
saraseff Messages postés 125 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 27 avril 2013 2
11 janv. 2010 à 22:04
j'aimerai savoir une chose : est ce que je suis obligée de taper tout d'abord crontab -e ou bien juste taper */1 * * * * echo hello >> /tmp/fichier pour l'enegistrer dans un fichier qui va le reconnaitre comme étant un cron donc l'exécuter !
0
Urielxx Messages postés 190 Date d'inscription mardi 26 août 2008 Statut Membre Dernière intervention 25 juin 2013 46
11 janv. 2010 à 22:20
Non, tu dois faire un crontab -e pour editer la crontab.
0
saraseff Messages postés 125 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 27 avril 2013 2
11 janv. 2010 à 22:35
ok merci tout le monde d avoir répondu à mes question :)
0
Salut,

Non, tu dois faire un crontab -e pour editer la crontab.

On peut mettre les taches dans un fichier qu'on le passe par la suite à la commande crontab
Voir man crontab

Voici un exemple.
lami20j@debian:~$ crontab -l
lami20j@debian:~$ cat moncrontab 
cat: moncrontab: Aucun fichier ou répertoire de ce type
lami20j@debian:~$ echo '*/1 * * * * echo hello >> ~/crontab.log' > moncrontab
lami20j@debian:~$ cat moncrontab 
*/1 * * * * echo hello >> ~/crontab.log
lami20j@debian:~$ crontab moncrontab 
lami20j@debian:~$ crontab -l
*/1 * * * * echo hello >> ~/crontab.log
lami20j@debian:~$ cat crontab.log 
hello
hello
hello
lami20j@debian:~$ 


Et voici le /var/log/syslog
Jan 11 22:36:01 debian /USR/SBIN/CRON[7178]: (lami20j) CMD (echo hello >> ~/crontab.log)
Jan 11 22:36:05 debian crontab[7184]: (lami20j) LIST (lami20j)
Jan 11 22:37:01 debian /USR/SBIN/CRON[7206]: (lami20j) CMD (echo hello >> ~/crontab.log)
Jan 11 22:38:01 debian /USR/SBIN/CRON[7219]: (lami20j) CMD (echo hello >> ~/crontab.log)
0
saraseff Messages postés 125 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 27 avril 2013 2
11 janv. 2010 à 23:02
Alors voyons voir ce que j'ai retenu de sa:

On crée un fichier moncrontab qui contient la commande qu'on a choisit de faire et dont les résultats s'afficheront dans un autre fichier appelé crontab.log

On vérifie en affichant le contenu de moncrontab

On tape crontab moncrontab (je pense que c'est pour exécuter le fichier et lancer le cron)

On liste les crontab pour voir qu'il est bien installé

On vérifie en affichant le contenu et là on voit le résultat : des "hello"

Le seul problème que j'ai c'est que quand je tape cat /crontab.log aucun fichier ou dossier de ce type , j'ai cherché dans le home puisqu'on a utilisé ~ je cherche aussi dans la racine rien !
0
saraseff Messages postés 125 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 27 avril 2013 2
11 janv. 2010 à 23:11
c'est bon je l'ai trouvé je crois qu'il a fallu attendre qu'une minute passe :) tout marche à merveille merci lami maintenant je peux utiliser le crontab d'une façon plus pratique
0