Upstart: Wie starte ich einen Job automatisch, nachdem MySQL beim Booten gestartet wurde?

Upstart: Wie starte ich einen Job automatisch, nachdem MySQL beim Booten gestartet wurde?

Mein Job ist von MySQL abhängig. Daher möchte ich, dass mein Job nach MySQL gestartet werden kann.

Ich lese dasEmporkömmling Kochbuchund ich finde, start ondass ein Job automatisch gestartet werden kann.

start on started mysql

Und es funktioniert. Aber ich möchte nicht, dass MySQL meinen Job nach dem Booten beeinflusst. Wenn ich meinen Job stoppe, wird er durch einen Neustart von MySQL neu gestartet. Wie kann ich das vermeiden?

Antwort1

Erstellen Sie eine Sperrdatei im /tmp/Ordner, um nachzuverfolgen, dass Ihr Job bereits ausgeführt wurde. Hier ein Beispiel:

  1. Erstellen Sie diese beiden Konfigurationsdateien für Upstart-Jobs:

    /etc/init/joba.conf

    # job A
    
    start on local-filesystems
    stop on runlevel[016]
    
    script
      /bin/echo job-A started >> /tmp/myjobs.log
      exec sleep 5
    end script
    

    /etc/init/jobb.conf

    # job B triggered after A
    
    start on started joba
    
    script
      /bin/echo job-B started >> /tmp/myjobs.log
      if ! [ -f /tmp/jobb.lock ]
      then
        /bin/echo " do job-B tasks" >> /tmp/myjobs.log
        /bin/touch /tmp/jobb.lock
      else
        /bin/echo " bypass job-B tasks"  >> /tmp/myjobs.log
      fi
      exec sleep 5
    end script
    
  2. Neustart

  3. Prüfen cat /tmp/myjobs.logoder in einem anderen Fenster öffnen sudo tail -f /tmp/myjobs.log.
  4. Versuchen Sie, Job-A erneut auszuführensudo start joba
  5. Prüfen /tmp/myjobs.log, siehe Bypass-Hinweis:

    job-A started
    job-B started
     do job-B tasks
    job-B started
     bypass job-B tasks
    job-A started
    job-B started
    job-A started
     bypass job-B tasks
    

Notiz:Für jeden Lauf haben wir 3 Zeilen. Die Zeilensortierung spielt hier keine Rolle. stdoutPufferproblem, es hat nichts mit Upstart zu tun. Die Jobs werden in der richtigen Reihenfolge ausgeführt.

verwandte Informationen