Wie bekomme ich eine Anwendung, die alle 30 Minuten ausgeführt wird?

12892
Jason94

Ich habe eine Anwendung, die einige Feeds abruft. Gibt es einen Weg, wie ich es alle 30 Minuten schaffen kann?

(Ich habe keinen grafischen Desktop installiert, daher wäre ein Terminalfix liebenswert: D)

6

4 Antworten auf die Frage

11
slhck

Verwenden Sie Ihre crontab:

crontab -e 

Geben Sie dann eine Zeile wie folgt ein

*/30 * * * * /path/to/your/command 

Speichern Sie es und es sollte alle 30 Minuten jede Stunde und jeden Tag laufen.

Der 30-Minuten-Teil wurde aktualisiert, war zu schnell. Danke @nicolas, du hast eine +1.

Wenn ich crontab -e eingebe, nehme ich an, die Datei /tmp/crontab.DYFYJ1 "zu öffnen? Jason94 vor 13 Jahren 0
Ja, das ist normales Verhalten. Der `crontab`-Befehl kümmert sich darum. Von der `Manpage`:" Nach dem Verlassen des Editors wird die geänderte Crontab automatisch installiert. " slhck vor 13 Jahren 0
Gibt es eine Möglichkeit, Crontab zu testen? Jason94 vor 13 Jahren 0
Rufen Sie `crontab -l 'auf, um Ihre aktuellen Crontab-Einträge aufzulisten. slhck vor 13 Jahren 0
@ Jason94: Um Crontabs zu testen, kopiere ich normalerweise den Eintrag und bearbeite die Zeit, um in der nächsten Minute ausgeführt zu werden. Zan Lynx vor 13 Jahren 0
7
Nicolas

Cron klingt wie das, wonach Sie suchen.

Melden Sie sich als der Benutzer an, mit dem die Aufgabe ausgeführt werden soll, und geben Sie "crontab -e" ein.

Ihr Lieblingseditor wird geöffnet und Sie erhalten eine Datei mit diesem Format:

 # m h dom mon dow command 

Um '/ home / foo / mein_programm' alle 30 Minuten auszuführen, fügen Sie diese Zeile hinzu

 */30 * * * * /home/foo/my_program > /dev/null 

/ dev / null ist vorhanden, so dass Sie die Ausgabe nicht per E-Mail erhalten, wenn Ihr Programm etwas in stdout schreibt.

Übrigens bedeutet * / 30 alle 30 Minuten, während 30 "jedes Mal bedeutet, wenn die Uhr 30 Minuten (0:30 Uhr, 1:30 Uhr, 2:30 Uhr ...) schlägt, was dazu führen würde, dass die Aufgabe jede Stunde anstatt alle 30 Minuten ausgeführt wird. Nicolas vor 13 Jahren 5
1
Ignacio Vazquez-Abrams

Verwenden Sie es cron, um es regelmäßig auszuführen.

Vom Konto des Benutzers aus, für den Sie das Skript ausführen möchten:

crontab -e 

Fügen Sie dann wie folgt eine neue Zeile hinzu:

*/30 * * * * <path/to/script> 

Speichern Sie dann die Crontab, die automatisch installiert wird. Der Job wird dann alle 30 Minuten ausgeführt und sendet Ihnen eine E-Mail mit allen Ausgaben.

1
Phil

Das klingt genau wie ein Job für cron. Dies ist eine gute Anleitung, ja, es ist für Ubuntu und Sie verwenden Fedora, aber soweit ich weiß, gibt es keine Unterschiede zwischen den beiden bezüglich cron.