Forum Programmation.shell Command at

Posté par  .
Étiquettes : aucune
0
30
mai
2006
Bonjour,
Je voudrais lancer un fichier toutes les 2 min environs qui vas vérifier que mon programme est bien lancer, je sais faire en cron mais je voudrais utilisé la commande at qui vas me permettre de la lancer dans un script shell, et je voudrais savoir comment suprimer les at en attente
Merci d'avance de vos reponses.
  • # Re: Command at

    Posté par  . Évalué à 2.

    Salut,

    Je ne sais pas si at est bien indiqué pour ce que tu souhaite faire. Il me semble que cela ne lance qu'une commande à une heure précise et pas périodiquement, parce que justement il y a Cron pour ça.

    Sinon, pour ce que tu demandes, c'est tout simple :

    $ at -f script date # tu lances la commande à une date précise
    $ atq # affiche la liste des commandes en attente avec leur identifiant
    $ atrm id # supprime la commande avec l'identiffiant id

    Pour plus de détails, man at est complet et bien expliqué (notamment les syntaxes pour spécifier une date et heure précises).

    Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

    • [^] # Re: Command at

      Posté par  . Évalué à 1.

      et je pourais le lancer en cron a partir de mon script shell ?
      • [^] # Re: Command at

        Posté par  . Évalué à 1.

        Je ne suis pas sûr de bien comprendre, tu souhaites ajouter une tâche Cron à partir d'un script shell ?

        Si c'est ça, il suffit d'ajouter dans ton script (avec la syntaxe habituelle de Cron) :
        echo "mm hh jj MMM JJJ tâche | crontab"

        Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

        • [^] # Re: Command at

          Posté par  . Évalué à 1.

          a ok en fait ces tous con merci :)
          • [^] # Re: Command at

            Posté par  . Évalué à 0.

            sa a l'air facile mais sa ne marche pas lol
            Je t'ecris exactement se que j'ai fait

            echo "1 * * * * /etc/test/test.sh | crontab"

            Mais sa ne fonctionne pas .
            • [^] # Re: Command at

              Posté par  . Évalué à 1.

              Ah mince, c'est de ma faute, j'ai mal placé un guillemet
              La bonne commande c'est :

              echo "1 * * * * /etc/test/test.sh" | crontab

              Désolé...

              Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

              • [^] # Re: Command at

                Posté par  . Évalué à 0.

                voici l'erreur qu'il me retourne

                + crontab
                contab : usage error : file name must be specified for replace
              • [^] # Re: Command at

                Posté par  . Évalué à 0.

                il me dis que la fonction n'est pas correct lol
              • [^] # Re: Command at

                Posté par  . Évalué à 0.

                J'ai essayer se que vous avez dis mais cela ne fonctionne pas je vous marque l'erreur

                crontab: usage error: file name must be specified for replace

                Ensuite j'ai une autre question peu ton suprimer cette tache cron a partir du shell par la suite :)
                • [^] # Re: Command at

                  Posté par  . Évalué à 1.

                  C'est bizarre, chez moi ça fonctionne. Je me demande si ce n'est pas parce que ton fichier "/var/spool/cron/user" n'existes pas (en remplaçant user par ton nom d'utilisateur).
                  Tu devrais voir s'il existe, et si ce n'est pas le cas, tu te loggues en root, tu le crées en te mettant comme propriétaire, avec les droits en écriture.

                  Si ce n'est pas ça, je ne vois pas.

                  Sinon, pour supprimer une tâche cron, la commande est "cron -r", mais cela supprime toutes les tâches.

                  Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

                  • [^] # Re: Command at

                    Posté par  . Évalué à 0.

                    on ne peu pas suprimer qu'une seul tache cron ?
                    • [^] # Re: Command at

                      Posté par  . Évalué à 0.

                      Bon j'ai un autre souci rencontrer en plus de la supression d'une tache cron qu'en je lance mon script tous marche bien il lance se que je veux mais qu'en ces le cron qui le lance on dirais que le cron coup le programme lancer par se script comment faire sachant que le programme est lancer en su - $user -c commande
                      • [^] # Re: Command at

                        Posté par  . Évalué à 0.

                        avec la command at sa marche mais malheureusement moi il faut que sa reface le meme test toute les minutes donc que sa relance toujour se fichier comment faire :(
                • [^] # Re: Command at

                  Posté par  . Évalué à 1.

                  heu, ce que je peux te dire c'est ma façon de faire ...

                  Pour editer : crontab -e

                  Pour lister : crontab -l

                  Quand tu sort de l'éditeur il recharge tout seul les tâches du fichier, donc rien a fair e de plus.

Suivre le flux des commentaires

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