GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Webmin

Geplante Cron-Jobs

Geplante Cron-Jobs listet Jobs auf, die explizit oder implizit von anderen Modulen wie Filesystem Backup geplant werden. Im Gegensatz zu Scheduled Commands, die nur einmal ausgeführt werden, werden Scheduled Cron Jobs stündlich, wöchentlich oder was auch immer ausgeführt.

Modul Geplante Cron-Jobs Hauptbildschirm

Ein Cron-Job ist ein Unix-Begriff für einen Befehl, der regelmäßig vom Cron-Daemon ausgeführt wird. Jeder Job gehört einem Unix-Benutzer und wird mit den Berechtigungen dieses Benutzers ausgeführt. Jedes hat eine Reihe von Minuten, Stunden, Tagen, Monaten und Wochentagen, an denen es ausgeführt wird, was eine beträchtliche Flexibilität bei der Planung ermöglicht. Beispielsweise kann ein Job alle 10 Minuten oder jeden Tag um 3 Uhr morgens oder im Januar, Februar und März montags bis freitags um 17 Uhr ausgeführt werden.

Cron-Jobs sind sehr nützlich, um normale Systemaufgaben auszuführen, wie z. B. das Bereinigen von Protokolldateien, das Synchronisieren des Systemtyps, das Sichern von Dateien usw. Die meisten Linux-Distributionen verfügen über mehrere Cron-Jobs, die standardmäßig als Teil des Betriebssysteminstallationsprozesses eingerichtet wurden, um Dinge wie das Entfernen nicht benötigter Kernelmodule, das Aktualisieren der vom Locate-Befehl verwendeten Datenbank und das Rotieren von Protokolldateien zu erledigen.

Konfiguration

Die eigentlichen Cron-Job-Konfigurationsdateien werden an verschiedenen Orten gespeichert, je nachdem, ob sie Teil eines Pakets sind, das in Ihrer Linux-Distribution enthalten ist, oder ob sie von einem Benutzer erstellt wurden. Das Verzeichnis /var/spool/cron ist für manuell von Benutzern erstellte Jobs und enthält eine Datei pro Unix-Benutzer. Die Datei /etc/crontab und die Dateien im Verzeichnis /etc/cron.d enthalten Jobs, die Teil von Paketen sind, wie z. B. von denen, die Teil Ihrer Distribution sind.

Wenn ein Paket wie 'anacron' auf dem Server verwendet wird, werden einige weitere Verzeichnisse vom Cron-System verwendet, aber höchstwahrscheinlich von geplanten Cron-Jobs unbemerkt bleiben.

Das Webmin-Modul zum Bearbeiten von Cron-Jobs finden Sie unter der Kategorie System. Wenn Sie es eingeben, zeigt die Hauptseite eine Tabelle aller vorhandenen Jobs auf Ihrem System an, wie unten gezeigt. Für jede Aktion werden Eigentümer, aktiver Status und Befehl aufgelistet. Wenn der Befehl für einen Job zu lang ist, wird er für die Anzeige auf der Seite abgeschnitten.

Inhalt

Erstellen eines neuen Cron-Jobs

Cron-Job erstellen/bearbeiten

Mit Webmin können Sie ganz einfach einen neuen Cron-Job erstellen, der von jedem Unix-Benutzer auf Ihrem System ausgeführt wird. Folgende Schritte sind erforderlich, um dies zu erreichen:

  1. Klicken Sie auf der Hauptseite des Moduls auf den Link *Neuen geplanten Cronjob erstellen* über oder unter der Liste der vorhandenen Jobs. Dadurch gelangen Sie zum unten gezeigten Formular zur Stellenerstellung.
  2. Im Feld Cronjob ausführen als geben Sie den Namen des Unix-Benutzers ein, als der der Job ausgeführt werden soll. Der vom Job ausgeführte Befehl wird im Home-Verzeichnis des Benutzers mit seinen vollen Berechtigungen ausgeführt.
  3. Das Aktiv? kann auf Nein gesetzt werden wenn Sie nicht möchten, dass dieser neue Job tatsächlich ausgeführt wird. Dies ist nützlich, um Jobs zu erstellen, die zu einem späteren Zeitpunkt aktiviert werden sollen.
  4. Im Befehl geben Sie die Shell-Befehle ein, die der Cron-Job ausführen soll. Genau wie am Shell-Prompt können mehrere Befehle durch ; getrennt eingegeben werden, und alle normalen Shell-Operatoren wie &tl,> und &&können verwendet werden. Standardmäßig wird jede Ausgabe des Befehls per E-Mail an den Eigentümer des Cron-Jobs gesendet. Wenn Sie dies nicht möchten, stellen Sie sicher, dass die Ausgabe in eine Datei oder /dev/null umgeleitet wird.
  5. Alles, was Sie in den Input to command eingeben Feld wird dem Befehl als Eingabe zugeführt, wenn er ausgeführt wird. Wenn Ihr Befehl beispielsweise mail [email protected] lautet, wird alles, was in das Feld eingegeben wird, an diese E-Mail-Adresse gesendet.
  6. Im Ausführungszeitpunkt Wählen Sie im Abschnitt die Zeiten und Daten aus, zu denen der Befehl ausgeführt werden soll. Für jede der Minuten , Stunden , Tage , Monate und Wochentage Optionen können Sie mehrere Zeiten oder Daten auswählen oder Alle auswählen Möglichkeit. Zum Beispiel:
    • Um einen Job um 3:15 Uhr ausführen zu lassen jeden Montag und Freitag , ändern Sie die Minuten Option auf Ausgewählt und wählen Sie 15 , ändern Sie die Stunden Option auf Ausgewählt und wählen Sie _3_ und die Wochentage aus Option auf Ausgewählt und wählen Sie Montag aus und Freitag . Die Tage und Monate Optionen würden auf Alle bleiben;
    • Jede Minute einen Job ausführen lassen. Alle Minuten ändern , Stunden , Tage , Monate und Wochentage Optionen auf Alle . Das Minimum ist jede Minute.
  7. Klicken Sie auf Erstellen Schaltfläche, um den neuen Cron-Job hinzuzufügen. Unter der Annahme, dass Ihre Auswahl keine Fehler enthält, kehren Sie zur Hauptseite des Moduls zurück und Ihr neuer Job sollte neben seinem Besitzer erscheinen.

Bearbeiten eines Cron-Jobs

Bestehende Cron-Jobs, einschließlich derer, die von Benutzern über Webmin erstellt oder in Ihr Betriebssystem integriert wurden, können mit diesem Modul bearbeitet und neu geplant werden. Seien Sie jedoch vorsichtig, wenn Sie Jobs bearbeiten, die Teil Ihrer Distribution waren, da einige wichtige Aufgaben wie das Abschneiden von Webserver-, Mail- und Anmeldeprotokolldateien ausführen, damit sie nicht Ihren gesamten Festplattenspeicher verbrauchen. Gehen Sie wie folgt vor, um einen vorhandenen Job zu bearbeiten:

  1. Klicken Sie auf der Hauptseite des Moduls auf den Befehl für den Job, den Sie bearbeiten möchten. Dadurch gelangen Sie zum Modulbearbeitungsformular, das dem obigen Bild ähnelt.
  2. Ändern Sie alle Details des Auftrags, einschließlich Benutzer, Befehl, aktiver Status und Ausführungszeiten und -daten.
  3. Wenn Sie fertig sind, klicken Sie auf Speichern klicken, und Sie kehren zur Hauptseite des Moduls zurück.

Vorhandene Cron-Jobs können gelöscht werden, indem Sie die obigen Schritte ausführen, aber auf Löschen klicken Schaltfläche anstelle von Speichern . Sie können auch die sofortige Ausführung eines Jobs erzwingen, indem Sie auf der Bearbeitungsseite auf die Schaltfläche *Jetzt ausführen* klicken, wodurch der Befehl ausgeführt und die von ihm erzeugte Ausgabe angezeigt wird.

Steuerung des Benutzerzugriffs auf Cron

Das Modul „Geplante Cron-Jobs“ kann auch verwendet werden, um den Zugriff auf den crontab-Befehl durch Unix-Benutzer über die Befehlszeile zu steuern. Dies kann nützlich sein, wenn Sie sich alle nicht vertrauenswürdigen Benutzer bei Ihrem System anmelden und verhindern möchten, dass einige von ihnen Cron-Jobs einrichten, um Befehle auszuführen und CPU-Zeit zu beanspruchen, wenn sie nicht angemeldet sind. Normalerweise standardmäßig alle Benutzer wird die Möglichkeit haben, Cron-Jobs zu erstellen, aber um dies zu ändern, sind die folgenden Schritte erforderlich:

  1. Klicken Sie unten auf der Hauptseite des Moduls auf den Link *Benutzerzugriff auf Cronjobs steuern*. Dadurch gelangen Sie zu einem Formular zur Eingabe der Benutzernamen von Benutzern, die Cron verwenden können oder nicht.
  2. Um allen Benutzern Zugriff zu gewähren, wählen Sie Alle Benutzer zulassen Möglichkeit. Um nur bestimmten Benutzern Zugriff zu gewähren, wählen Sie die Option *Nur aufgelistete Benutzer zulassen* und geben Sie deren Benutzernamen in das Textfeld ein. Um allen außer einigen Benutzern Zugriff zu gewähren, wählen Sie Nur aufgelisteten Benutzern verweigern Option und geben Sie die Benutzernamen der Personen, denen Sie den Zugriff verweigern möchten, in das Textfeld ein.
  3. Wenn Sie fertig sind, klicken Sie auf Speichern Taste.

Wenn einem Benutzer der Zugriff auf Cron verweigert wurde, können Sie das Modul nicht mehr verwenden, um ihm gehörende Jobs zu erstellen, zu bearbeiten oder zu löschen. Bestehende Jobs können jedoch weiterhin ausgeführt werden!

Modulzugriffskontrolloptionen

Wie in Webmin-Benutzer beschrieben, ist es möglich, das Modul Webmin-Benutzer zu verwenden, um zu steuern, für welche Unix-Benutzer ein Webmin-Benutzer Cron-Jobs bearbeiten kann. Um dies einzurichten, müssen Sie dem Benutzer zunächst Zugriff auf das Modul gewähren und dann die folgenden Schritte ausführen:

  1. Klicken Sie im Webmin-Benutzermodul neben dem Namen des Benutzers, den Sie einschränken möchten, auf Geplante Cron-Jobs.
  2. Ändern Sie die Modulkonfiguration bearbeiten? Feld auf Nein , sodass der Benutzer die Befehle, die Webmin zum Erstellen und Bearbeiten von Jobs aufruft, nicht bearbeiten kann.
  3. Schalten Sie die Option Kann Cronjobs bearbeiten für um Feld von Alle Benutzer zu einer der anderen Optionen. Die am häufigsten verwendete ist *Benutzer mit UID im Bereich*, mit der Sie eine minimale und maximale UID in die Felder daneben eingeben können. Erlauben Sie niemals einem nicht vertrauenswürdigen Benutzer den Zugriff auf die Cron-Jobs von Systembenutzern wie root oder bin, da dies ihm eindeutig vollen Zugriff auf Ihr System gewährt und somit jede andere Webmin-Zugriffskontrolle außer Kraft setzt.
  4. Stellen Sie kann den Benutzerzugriff auf cron steuern? *Feld auf *Nein , damit der Webmin-Benutzer keine Benutzer außerhalb seiner Kontrolle mit Cron stoppen kann.
  5. Klicken Sie auf Speichern Schaltfläche unten auf der Seite, um die Zugriffskontrolle zu aktivieren.

Konfigurieren des Moduls für geplante Cron-Jobs

Die meisten Moduleinstellungen können Sie anzeigen, indem Sie auf Modulkonfiguration klicken Link auf der Hauptseite sind standardmäßig passend zum installierten Betriebssystem eingestellt und müssen selten geändert werden. Es gibt jedoch ein Feld, das die Benutzeroberfläche des Moduls beeinflusst, wie in der folgenden Tabelle gezeigt:

Andere Betriebssysteme

Cron ist auf fast allen Unix-Systemen mit sehr ähnlichen Fähigkeiten verfügbar. Das bedeutet, dass dieses Modul auf allen Betriebssystemen fast identisch erscheint, mit nur ein paar kleinen Unterschieden. Bei manchen gibt es keine Input to command Feld, das beim Erstellen oder Bearbeiten eines Jobs verfügbar ist. Bei anderen, wenn Sie steuern, welche Benutzer Zugriff auf Cron haben, ist die Standardeinstellung Alle Benutzer zulassen wird durch Alle Benutzer außer root zulassen ersetzt oder Alle Benutzer ablehnen .

Andere Betriebssysteme verwenden intern andere Verzeichnisse zum Speichern von Cron-Jobs - Solaris beispielsweise verwendet /var/spool/cron/crontabs statt /var/spool/cron auf Linux. Die meisten anderen Systeme haben kein /etc/crontab Datei oder /etc/cron.d Verzeichnis entweder. Bei Verwendung von Webmin müssen Sie sich jedoch nicht um diese Unterschiede kümmern, da es die von anderen Unix-Varianten verwendeten Pfade kennt und alle Cron-Jobs mit derselben Oberfläche anzeigt, egal in welcher Datei sie gespeichert sind.

Siehe auch

  • Geplante Befehle
  • Geplante Cron-Jobs entwickeln

Webmin
  1. Cron Job:Ein umfassender Leitfaden für Anfänger 2022

  2. So löschen Sie Cronjobs

  3. Intensive Cron-Jobs oder geplante Aufgaben

  4. Wie plant Cron intern Jobs?

  5. Testen Sie einen wöchentlichen Cronjob

So richten Sie einen Cron-Job unter Linux ein

Ein Leitfaden für Anfänger zu Cron-Jobs

Wie überprüfe ich die Cron-Jobs-Ausgabe bei Hostinger?

So konfigurieren Sie cPanel Cron-Jobs von WHM

So fügen Sie Cron-Jobs in cPanel hinzu

Was ist ein Cronjob unter Linux