Punktlandung

Cron, At

01.02.2006
Cron- und At-Jobs automatisieren Abläufe auf dem Linux-System, rotieren Logfiles, erstellen automatisch Backups und wecken Sie morgens mit der eigenen MP3-Sammlung – auf Wunsch nur an bestimmten Tagen. Wir zeigen, wie Sie Dinge punktgenau erledigen lassen.

Was Du heute kannst besorgen… Dinge, die Sie zu einem späteren Zeitpunkt auf einem Linux-System ausführen wollen, müssen Sie nicht umständlich notieren, um diese dann doch wieder zu vergessen: Mit dem Programm At definieren Sie sofort, was irgendwann später einmal passieren soll, und auch Cron erledigt zuverlässig immer wiederkehrende Aufgaben automatisch.

Damit diese Aufgaben pünktlich erledigt werden, werkelt im Hintergrund in beiden Fällen ein so genannter Daemon, der jede Minute nachschaut, ob es neue Aufträge gibt. Der At-Daemon heißt atd, und bei Cron ist cron(d) verantwortlich.

At zu Diensten

Sie rufen At aus der Kommandozeile heraus auf und übergeben weiterhin den Zeitpunkt, an dem At den Auftrag ausführen soll. Anschließend tippen Sie in einer Art Shell weitere Kommandos ein und beenden At danach durch Drücken der Tastenkombination [Strg]+[D]:

$ at 07:00
warning: commands will be executed using /bin/sh
at> mpg321 -z /home/huhn/mp3/*
at> <EOT>
job 6 at 2006-01-03 07:00

Pünktlich um 7 Uhr am nächsten Morgen weckt Sie nun der Kommandozeilen-Player Mpg321, indem er Songs aus dem Verzeichnis /home/huhn/mp3/ in zufälliger Reihenfolge abspielt – natürlich muss der Rechner dann auch eingeschaltet sein.

Den Zeitpunkt können Sie auf ganz unterschiedliche Weise angeben; die Tabelle "Zeitformate für At" listet die gebräuchlichsten Schreibweisen auf. Beachten Sie, dass At auch das Neustarten des Rechners überlebt und sich merkt, was in den nächsten sechs Monaten auf dem Plan steht.

Zeitformate für At

Format Bedeutung
16:16 16:16 Uhr am heutigen Tag.
07:00pm 19:00 Uhr am heutigen Tag (ohne Angabe von am oder pm ist immer am gemeint).
now Jetzt
tomorrow Morgen
today Heute
now + 10min In zehn Minuten; weiterhin ist die Angabe von Stunden (hours), Tage (days), Wochen (weeks) und Monaten (months) möglich.
noon tomorrow Um 12:00 Uhr am nächsten Tag; alternativ versteht At auch teatime (= 16:00 Uhr) oder midnight (= Mitternacht).
6/9/06 Am 9. Juni 2006; alternative Schreibweisen für das Datum sind z. B. 6.9.06 und 6906.

Nach getaner Arbeit schickt At eine Mail an den Auftraggeber und berichtet über den Job (Abbildung 1) – egal, ob dieser erfolgreich war oder eine Fehlermeldung verursacht hat. Damit das funktioniert, muss ein Mail-Server (zumindest für die lokale Zustellung) konfiguriert sein. Für Kommandos, die standardmäßig keine Ausgabe erzeugen, wie beispielsweise rm, mv oder cp, erzwingen Sie die Benachrichtigung per E-Mail. Dazu geben Sie beim Start die Option -m an, etwa at -m 13:31.

Abbildung 1: At informiert den Benutzer per E-Mail über getane Arbeit.

Jobs anzeigen und löschen

Alle At-Kommandos, die noch auf ihre Ausführung warten, finden Sie in der Warteschlange wieder. Diese zaubern Sie auf den Bildschirm, wenn Sie at -l oder atq aufrufen:

$ atq
7       2006-01-03 07:00 a huhnix
11      2006-01-03 12:00 a huhnix
12      2006-06-09 14:24 a huhnix

Leider gibt sich At an dieser Stelle nicht besonders informativ und verrät lediglich die Job-Nummer am Zeilenanfang, das Datum und die Uhrzeit, den Namen der Warteschlange (a) und den Benutzernamen. Welcher Befehl da aber auf seine Ausführung wartet, das lässt die Liste im Dunkeln. Als normaler Benutzer sehen Sie außerdem nur die eigenen Jobs; lediglich der Systemadministrator erhält eine vollständige Liste aller wartenden Aufträge.

Wer ganz genau wissen will, was die Zukunft bringt, schaut als Administrator ins Verzeichnis der At-Jobs unter /var/spool, zum Beispiel /var/spool/atjobs/ (bei Suse Linux) oder /var/spool/cron/atjobs/ (unter Debian) – die Textdateien verraten u. a. ganz am Ende, welcher Befehl ausgeführt wird.

Um einen At-Auftrag wieder zu löschen, geben Sie den Befehl at -d oder entsprechend atrm unter Angabe der Job-Nummer ein:

$ atrm 7 11
$ atq
12      2006-06-09 14:24 a huhnix

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Related content

  • Jobs mit Cron abarbeiten
    So chaotisch Linuxer/innen auch manchmal sein mögen – meistens werkelt unbeachtet im Hintergrund ein Pünktlichkeitsfanatiker namens cron(d) auf ihren Rechnern. Ihn zu nutzen, kann eine Menge langweilige Arbeit ersparen.
  • Dr. Linux
    Komplizierte Organismen, wie Linux-Systeme es nun einmal sind, haben so ihre ganz eigenen Wehwehchen. Dr. Linux beobachtet die Patienten in den Linux-Newsgruppen, stellt Rezepte für aktuelle Probleme aus und alternative Heilmethoden vor.
  • Crontabellen per Mausklick
    So nützlich der Crondämon ist, um den Rechner zu festgelegten Zeiten den einen oder anderen Auftrag ausführen zu lassen – das Format, in dem er sich bitten lässt, ist einigermaßen gewöhnungsbedürftig. Hier helfen grafische Crontab-Erstellungsprogramme.
  • Programme zeitgesteuert abarbeiten
    Einmal angeordnet und immer wieder ausgeführt – Linux-User haben verschiedene Möglichkeiten, sich Arbeit durch Automatisierung zu ersparen.
  • Korner: KCron
    Warum selber an Aufgaben denken, die zu einem bestimmten Zeitpunkt ausgeführt werden sollen, wenn einem hilfreiche Programme wie der Cron-Daemon diese Arbeit gern abnehmen? Mit der grafische Oberfläche KCron legen Sie fest, was wann zu erledigen ist.
Kommentare

Infos zur Publikation

title_2014_08

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...
openSUSE 13.1 - Login-Problem wg. Fehler im Intel-Grafiktreiber?
Thomas Kallay, 03.07.2014 20:26, 8 Antworten
Hallo Linux-Community, habe hier ein sogenanntes Hybrid-Notebook laufen, mit einer Intel-HD460...
Fernwartung für Linux?
Alfred Böllmann, 20.06.2014 15:30, 7 Antworten
Hi liebe Linux-Freunde, bin beim klassischen Probleme googeln auf www.expertiger.de gestoßen, ei...