Ubuntu & Mint

So beherrschen Sie den Linux-Autostart

Der Taskplaner Cron - cleverer Helfer

Für zeitgesteuerte Programmstarts wie Sicherungen, Downloads oder Protokolle gibt es den Standarddienst Cron, der seine Jobs über die Textdatei „crontab“ erhält. Es gibt eine systemweite Datei „/etc/crontab“ für alle Benutzer, die nur mit Root-Rechten bearbeitet werden kann:

sudo crontab -e sudo gedit /etc/crontab

Beide Befehle führen zum Ziel, nur die Editoren unterschieden sich. Wenn Sie als normaler Benutzer crontab -e ohne „sudo“ eingeben, bearbeiten Sie die benutzerspezifische Crontab, die im Verzeichnis „/var/spool/cron/crontabs/[Benutzername]“ gespeichert wird. Im Allgemeinen sollte diese Benutzer-Crontab ausreichen. Manuelle Einträge (eine Zeile pro Job) in diese Textdatei sind etwas unhandlich, da sie zunächst die fünf Zeitangaben

Minute Stunde Tag Monat Wochentag

mit Leerzeichen oder Tabulatoren getrennt erfordert, nachfolgend den Programmbefehl. Ein Download, der jeden Tag um 9:00 Uhr erfolgen soll, und ein Backup, das täglich um 23:30 Uhr laufen soll, sehen dann etwa so aus:

0 9 * * * wget –q http://meineseite.de/meine.php 30 23 * * * /home/ha/backup.sh

Mit Hilfe folgender Syntax lassen sich auch grafische Programme starten:

0 10 * * * DISPLAY=:0 firefox

Das Format der Zeilen führt leicht zu unnötigen Fehlern – und das ist umso lästiger, als Fehler in der Crontab schwer zu debuggen sind, da schlicht nichts passiert, wenn eine Angabe inkorrekt ist. Um bei relativ einfachen Zeitangaben Formatfehler zu vermeiden, hat die Crontab einige simplifizierende Variablen eingeführt, die an Stelle der fünf Zeitabgaben akzeptiert werden. Die interessantesten sind „@reboot“ für Programmstarts bei der Anmeldung, ferner „@hourly“, „@daily“, und „@weekly“ (alle jeweils ohne Anführungszeichen).

Helfer für Cronjobs: Das bewährte gnome-schedule („geplante Aufgaben“) sorgt für wesentlich vereinfachtes und fehlerfreies Bearbeiten der Cron-Tabelle.
Helfer für Cronjobs: Das bewährte gnome-schedule („geplante Aufgaben“) sorgt für wesentlich vereinfachtes und fehlerfreies Bearbeiten der Cron-Tabelle.

Am besten schließen Sie aber Formatfehler einfach dadurch aus, dass Sie ein Hilfsmittel verwenden, das die Einträge für Sie übernimmt. Das bewährte gnome-schedule ist unter Debian-basierten Systemen (Debian, Ubuntu, Mint) mit

sudo apt-get install gnome-schedule

schnell nachinstalliert. Danach finden Sie das Tool im Startmenü oder Ubuntu-Dash als „Geplante Aufgaben“, oder Sie starten es mit gnome-schedule. Hier erstellen Sie durch Klick auf „Neu“ einmalige oder wiederkehrende Aufgaben. Zeitangaben sind in diesem Front-End deutlich einfacher als beim direkten Editieren der Cron-Tabelle. Für grafische Programme gibt es unter „Beschreibung“ und „Befehl“ den Dropdown-Eintrag „X-Anwendung“. Dabei nutzt gnome-schedule nicht die oben angesprochene Syntax mit dem „DISPLAY“-Argument, sondern den Umweg über ein Python-Script, wovon Sie sich leicht durch Editieren der eigentlichen Crontab überzeugen können. Mit gnome-schedule geplante Aufgaben laufen immer im Benutzerkontext; die entsprechende Konfigurationsdatei wird für jeden Benutzer im Verzeichnis „/var/spool/cron/tabs/“ gespeichert.