Crontab ajouter une tache en ligne de commande

Bonjour à tous. Comment automatiser ceci par une ligne de commande (que je souhaiterai mettre dans un script) :

crontab -e
je choisis 'nano'
ajouter la ligne suivante au fichier ouvert :
* * * * * /home/webradio/Documents/webradio/checkradio.sh

Sinon existe t’il un fichier qqpart que je pourrais récupérer ? Editer, envoyer sur mon site, et ensuite récupérer depuis mon site lors de l’installation automatique sur un nouveau pi.

Merci.

Bonjour,

Je ne suis pas sûr d’avoir bien compris la demande. Si j’ai bien compris tu souhaites mettre à jour la crontab du user sans passer par la commande interactive crontab -e ?

Si c’est cela :
Créer un reperetoire /home/pi/crontab (par exemple)
Créer/Editer/modifier/sauvegarder un fichier /home/pi/crontab/pi.crontab avec un éditeur de texte.
Pour charger ce fichier en crontab de l’utilisateur passer cette commande

crontab /home/pi/crontab/pi.crontab

Et voilà.

A+

Oui c’est cela. Bonjour, super nouvelle si c’est possible. J’ai réalisé la manipulation, mais cela ne fonctionne pas.

  • Dois-je réaliser un chmod particulier sur le fichier pi.crontab ?
  • le contenu du fichier pi.crontab est-il bien ':
    * * * * * /home/webradio/Documents/webradio/checkradio.sh
    ?
  • Dois je effectuer le ‹ crontab /home/pi/crontab/pi.crontab › à chaque démarrage du pi (dans un script).
  • D’une manière générale, dans un script bash, sous desktop, existe t’il une commande qui puisse me permettre de tracer, par exemple écrire un texte dans une console, pour que je puisse déboguer mes scripts s’ils sont bien exécutés !
    Merci beaucoup ! (je suis sous desktop)

hello,

il faut au minimum remplacer un astérisque par un nombre, (minutes,heures,jour etc.) plus d’info en source:

ERRATUM : après test il s’avère que :
* * * * * /home/pi/job.sh
est équivalent à :
*/1 * * * * /home/pi/job.sh

soit exécution de /home/pi/job.sh toutes les minutes de toutes les heures,de tous les jours, etc.
( cron Installé : 3.0pl1-137)

source:

Bonjour,

Non inutile ce fichier ne sert qu’une fois il n’a pas besoin d’être exécutable.
Pour vérifier le contenu de la crontab, passer la commande crontab -l

Pour ma part ce contenu me semble correct. Vérifier quand même l’info de @bof.

Non la crontab est chargée une fois pour toutes. On ne rappelle cette commande que lorsque l’on souhaite recharger une nouvelle crontab.

Pour visualiser des messages d’un script bash placer des commandes echo "texte" dans le script. Lorsque l’on lance le script dans une console, les commandes echo s’affichent à l’écran.
Pour récupérer ces messages lorsque le programme est en crontab, envoyer la sortie vers un fichier de log comme suit:

* * * * * /home/webradio/Documents/webradio/checkradio.sh > /home/webradio/Documents/webradio/checkradio.log 2>&1
[/quote]

A+

Plus d’ informations sur cron: https://fr.wikipedia.org/wiki/Cron

Merci à vous, toutes ces informations me font progresser dans mon apprentissage et améliorent le dispositif d’écoute Pi de notre webradio associative.

Par contre ce n’est pas possible de réaliser une tache toute les 30 secondes avec cron…

Bonjour,
Une possibilité: est d’avoir deux tâches, l’une décalée de 30 secondes :
* * * * * /path/to/executable param1 param2
* * * * * ( sleep 30 ; /path/to/executable param1 param2 )

C’est ingénieux, merci.