Forum Programmation.shell Ajouter une tâche CRON avec un script

Posté par  .
Étiquettes : aucune
0
30
avr.
2009
Bonjour,


Étant donné que ce topic http://linuxfr.org/forums/10/23310.html est archivé je me permets d'en ouvrir un nouveau.

J'aimerais depuis un script shell (ksh) ajouter une ligne à mon crontab (de la même façon qu'avec crontab -e). La méthode qui consiste à transformer le crontab en fichier tmp puis à le renommer ne me convient pas, car le crontab est alors indispo le tps de la modif (même aussi minime qu'elle soit).

Par contre si quelqu'un est en mesure de me donner une explication quand à l'ajout d'un fichier dans le /etc/crontab.d ? C'est un fichier qui contiendrait la ligne à crontaber ? Comment cela se passe-t-il ?


Merci d'avance.
  • # Hum

    Posté par  (site web personnel) . Évalué à 1.

    Est ce qu'un truc de ce genre pourrait convenir?

    (crontab -l; echo "ma_ligne") | crontab -
  • # /etc/cron.d est une bonne solution (si tu est root)

    Posté par  . Évalué à 2.

    de plus c'est simple, et documenté ... (man 5 crontab).
  • # crontab

    Posté par  . Évalué à 1.

    J'ai consulté le man je n'y ai rien trouvé d'intéressant concernant ma recherche. Et j'ai essayé la méthode de Gregory ça ne me donne rien ou alors un broken pipe :(


    PS : Je suis sous Solaris
    • [^] # Re: crontab

      Posté par  . Évalué à 2.

      PS : Je suis sous Solaris

      il fallait peut-etre le preciser dés le depart
      meme si cela ne doit pas tellement changer le resultat des reponses

      essayons deja de prendre les choses dans le bon sens.

      1°) copier /etc/crontab en /tmp/crontab.tmp (le fichier d'origine reste donc dispo si tu met plus d'une minute à modifier le fichier final)

      2°) faire ta modification dans /tmp/crontab.tmp

      3°) deplacer /etc/crontab en /etc/crontab.org (ou .bak ou ... pour le backup)

      4°) deplacer /tmp/crontab.tmp en /etc/crontab

      logiquement, sauf si le fichier fait des milliers de lignes, le deplacer ou la copie doit etre tres rapide, donc la probabilité de rendre le fichier indisponible est relativement faible
  • # crontab

    Posté par  . Évalué à 1.

    Effectivement ça ne change pas grand chose dans ce cas que je sois sous Solaris ou un autre Unix.

    J'utilise déjà plus ou moins cette méthode NeoX, c'est celle que je vais conserver si je n'en trouve pas d'autres.

    Mais je cherche à atteindre le risque zéro, c'est pourquoi la méthode d'ajout de fichier dans le /etc/cron.d m'intéressait mais je n'ai pas suffisamment d'infos...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.