Den Cron-Job beherrschen und grundlegende Serveraufgaben automatisieren

Artikel geschrieben von:
  • Featured Articles
  • Aktualisiert: Sep 06, 2017

Webhosting ist so konzipiert, dass es einfach, unkompliziert und perfekt für den Profi ist, der viel unterwegs ist und einfach nicht jede Stunde des Tages damit verbringen kann Verwalten ihres Hosting-Servers und damit verbundene Aufgaben.

Zu diesem Zweck bietet fast jeder Server, der auf Unix oder Linux basiert, einen automatisierten Task-Manager, der alscron-Job”Oder“ Crontab ”.

Dieses Software-Dienstprogramm ähnelt dem Taskplaner in Microsoft Windows. Es kann gesagt werden, dass es bestimmte Dinge zu bestimmten Zeiten ausführt, sodass ein Benutzer diese Aufgaben nicht manuell ausführen muss. Dies ist besonders wichtig, wenn man bedenkt, dass viele routinemäßige Wartungs-, Sicherungs- und Kommunikationsvorgänge des Servers Stunden und Stunden in Anspruch nehmen können. Die meisten Leute möchten einfach nach einem Tag im Büro nach Hause gehen und sich entspannen, anstatt den Abend damit zu verbringen, Dateien zu sichern und Kontakte zu verwalten.

Diese Personen haben Glück, da jede Aufgabe täglich, wöchentlich oder monatlich geplant werden kann - oder in einigen Fällen sogar weiter auseinander, und dem Server innerhalb des Crontab-Dienstprogramms spezifische Anweisungen zur Ausführung der Aufgabe gegeben werden können , wie man weiß, wann es abgeschlossen ist und was man tun muss, wenn die Aufgabe tatsächlich abgeschlossen ist.

Die Benutzer können sich entspannen, während ihr Server stundenlang das ganze schwere Heben durchführt. oder sie können einfach planen, dass die Arbeit erledigt wird, während sie hart in ihren eigenen Büros arbeiten. Da es automatisiert ist, kann ein Cron-Auftrag zu nahezu jeder Tageszeit ausgeführt werden.

Lernen, die Uhrzeit mit dem Format eines Cron-Jobs zu bestimmen

Ein Cron-Job ist nicht gerade einfach zu meistern. Tatsächlich wird es allgemein als eine der fortschrittlichsten Konfigurationen angesehen, die für einen Standard verfügbar sind Linux or Unix Webserver. Dies liegt zum Teil daran, dass die Sprache, mit der diese Jobs programmiert werden, so archaisch und teilweise völlig rückständig ist. Wenn es darum geht, dem Cron-Job oder der Cron-Registerkarte eine bestimmte Zeit mitzuteilen, sind die Dinge sicherlich rückwärts, auf den Kopf gestellt und etwas verwirrend.

Das Format für die Zeitangabe über einen Cron-Auftrag lautet wie folgt:

MINUTE-STUNDEN-TAG DES MONATS MONAT-TAG DER WOCHE BEFEHL

Es ist alles eine Zeile, und gerade Zahl und Befehl stehen in einer einheitlichen Kontraktion nebeneinander. Es ist genug, um die meisten Entwickler und Server-Betreiber zusammenzucken zu lassen, und tatsächlich tun es viele von ihnen, bis sie den Dreh raus haben, um einen effizienten Cron-Job zu entwickeln.

Es ist wichtig zu beachten, dass jeder Aspekt der Cron-Arbeitszeit numerisch ist. Es gibt keine Monatsnamen, Tagesnamen oder andere Wörter, die während der Entwicklung der Zeit, in der eine Aufgabe ausgeführt werden soll, verwendet werden.

Lassen Sie uns daher einen Cron-Job für 10 einrichten: 30 ist am 7. Juli, um ein Gefühl dafür zu bekommen, wie die Zeit eines Cron-Jobs aussieht, wenn er in Zahlen umgewandelt wird.

30 10 07 07 *

Das obige Beispiel besagt, dass der Job in der 30-ten Minute der zehnten Stunde am siebten Tag des siebten Monats abgeschlossen sein sollte. Alle Zahlen sind zweistellig, auch wenn der Monat oder der Tag nur eine Ziffer ist. Dies ist wichtig zu bedenken, da eine einzelne Ziffer häufig dazu führt, dass der Cron-Job ungültig wird und einfach niemals ausgeführt wird. Am Ende der Con-Struktur gibt ein Sternchen an, dass der Job an einem beliebigen Wochentag ausgeführt werden soll. Dies ist wichtig, da die Einstellung auf 03 für Mittwoch bedeuten würde, dass die Aufgabe nur am 7. Juli ausgeführt wird, wenn dieser Tag ein Dienstag ist. Das wird wahrscheinlich alle sieben oder acht Jahre passieren, was für die meisten Entwickler ein wenig in Anspruch zu nehmen ist.

Ein weiterer wichtiger Gesichtspunkt bei der Einrichtung eines Cron-Jobs ist, dass das Stundenformat 24-Stunden-Militärzeit und nicht 12-Stunden-Zivilzeit ist. Um die Zeit des Cron-Jobs in 10 pm zu ändern, wird die Stunde in 22 anstelle des aktuellen 10 geändert.

Cron Job Beispiele

Wenn ein Benutzer lediglich eine Aufgabe täglich, monatlich oder sogar jährlich erledigen möchte, kann er den Vorgang des Festlegens einer bestimmten Zeit vollständig überspringen. Stattdessen sieht der Cron-Jobprozess die Verwendung von Variablen vor, die festlegen, wann ein Job in diesen häufigen Intervallen ausgeführt wird. Diese schließen ein:

  • @Täglich
  • @monatlich
  • @jährlich

Da die Zeit nicht streng kontrolliert und anhand von Stunden und Minuten bestimmt werden kann, werden diese Jobs genau um Mitternacht gemäß der internen Zeit des Servers in dem angeforderten Intervall ausgeführt. Das bedeutet, dass das monatliche Intervall genau um Mitternacht am ersten Tag eines jeden Monats auftritt. Das jährliche Intervall wird genau um Mitternacht am ersten Tag eines jeden Jahres festgelegt. und das @ daily-Intervall wird genau um Mitternacht an jedem einzelnen Tag des Jahres auftreten.

Dies ist weitaus einfacher als das Festlegen eines bestimmten Datums, einer bestimmten Uhrzeit und eines bestimmten Wochentags. Bestimmte Aufgaben, die am ersten Tag des Monats oder Jahres um Mitternacht ausgeführt werden, können jedoch für bestimmte Kunden mit Nachteilen verbunden sein. Denken Sie immer an die Bedürfnisse von Administratoren und Website-Besuchern, wenn Sie Aufgaben planen, die genau um Mitternacht ausgeführt werden.

Die "COMMAND" -Variable erfassen und mit ihr umgehen

Wie im obigen Beispiel zu sehen ist, ist das Erstellen eines tatsächlichen Cron-Jobs relativ einfach. Das Datum muss zuerst definiert werden und anschließend wird sofort die Funktion des Cron-Jobs definiert. Diese Funktion kann buchstäblich alles sein, einschließlich der Ausführung eines PHP-Skripts oder eines angepassten Sicherungsskripts, das die Dateien und Daten des Servers entweder in einer fernen oder einer lokalen Datei speichert. Zur Verdeutlichung bauen wir auf dem zuvor verwendeten Beispiel auf und weisen den Cron-Job an, am 7-Juli um 10: 30 am Morgen ein PHP-Skript auszuführen. Dieses PHP-Skript heißt "backup.php" und wir gehen davon aus, dass es sich bei der PHP-Datei um ein vollständiges Backup-Skript handelt, das Site-Dateien auf Anweisung des Servers am siebten Tag des Monats sammelt, komprimiert und speichert. So sieht es aus:

30 10 07 07 * http://Ihre-Domänenname.com/Backup-Scripts/Backup.php

Wenn dieser Cron-Job in die Liste der Cron-Registerkarten des Servers eingetragen wird, wird er automatisch bei 10 ausgeführt: 30 am jeden 7.Juli eines jeden Jahres. Daraufhin wird das PHP-Sicherungsskript ausgeführt, das sich im Verzeichnis "backup-scripts" befindet, und hier funktioniert das wahre Genie der Cron-Jobeinrichtung.

Anstatt erweiterte Befehle der Benutzer zum Ausführen von Funktionen wie Site-Backups und Cache-Leeren zu erfordern, können Benutzer vorhandene Skripts einfach in einem bestimmten Intervall oder zu einem bestimmten Datum zu einem bestimmten Zeitpunkt ausführen. Dies bedeutet, dass keine fortgeschrittenen Programmierkenntnisse erforderlich sind, die der Benutzer bereits kennt. PHP ist in der Lage, Site-Dateien zu sichern, ebenso wie weit fortgeschrittenere Dateien und Programmiersprachen, die der fortgeschrittenere Benutzer möglicherweise für seinen Linux-Server entwickelt.

Mit diesem einfachen Setup können Sie praktisch alles tun, solange ein vorab geschriebenes Skript die Ausführung dieser Aktionen unabhängig von der Benutzereingabe vorsieht. Dies bedeutet, dass ein Skript, das von einem Cron-Job auf einer Cron-Registerkarte ausgeführt wird, vollständig automatisiert und in der Lage ist, es selbst auszuführen. Zum Beispiel wäre es unmöglich (und einfach unlogisch), dem Cron-Job zu sagen, täglich einen WordPress-Index oder eine Design-Datei zur selben Zeit auszuführen. Es sind einfach keine Aktionen oder automatisierten Prozesse definiert, und obwohl der Cron-Job die Datei sicherlich ausführen würde, würde sie nichts tun und statisch bleiben, bis die Benutzereingaben auf andere Weise bereitgestellt wurden.

Aus diesem Grund sollten Sie beim Codieren oder Herunterladen von Sicherungsskripts oder anderen für die Arbeit mit Cron-Jobs immer sicherstellen, dass sie genau null Benutzereingaben erfordern, um ihre Funktionen erfolgreich auszuführen. Ein automatisierter Task-Scheduler muss mit einem automatisierten Prozess in der von ihm ausgeführten Datei gekoppelt sein. Es gibt keine Ausnahmen von dieser Regel.

Mastering der Cron-Tab-Gesamtdatei auf einem typischen Server

Jeder spezifische Cron-Job, der zur Ausführung angegeben wird, liegt in einer größeren Datei, die als Cron-Registerkarte bezeichnet wird. Einige Server verfügen über mehrere Cron-Registerkarten für mehrere Anwendungstypen und automatisierte Eingaben. Dies ist jedoch selten und weitgehend den fortgeschrittensten Serverbetreibern und -eigentümern vorbehalten. Benutzer, die nur über eine Cron-Registerkartendatei verfügen, können die folgenden Befehle verwenden, um die Datei in ihrer Gesamtheit zu bearbeiten, zu löschen oder anzuzeigen, wobei jede ihrer spezifischen automatisierten Aufgaben zur Anzeige in der Datei aufgeführt wird.

Crontab -r

Dieser Befehl entfernt (also "r") oder löscht die gesamte Cron-Tab-Datei selbst. Auf diese Weise werden alle Befehle und automatisierten Skripts gelöscht und in einer leeren Datei wiederhergestellt, die wiederhergestellt werden kann. Dies ist eine geeignete Option für diejenigen, denen es gelungen ist, die Datei zu beschädigen oder die Aufgaben und Zeiten irgendwie unangemessen zu machen. Manchmal ist es einfach einfacher, von vorne zu beginnen.

crontab -e

In diesem Fall steht „e“ für „Bearbeiten“. Benutzer, die die auf einer Cron-Registerkarte beschriebenen Funktionen bearbeiten möchten, anstatt die Datei vollständig zu löschen, können diesen Befehl verwenden, um in den Befehlszeilen-Editor zu gelangen, der dies ermöglicht Fügen Sie neue Aufgaben hinzu, entfernen Sie alte Aufgaben oder ändern Sie die anwendbaren Zeitplanzeiten für alle Cron-Jobs, die im Dokument der Registerkarte Cron aufgeführt sind.

Crontab -l

In diesem Fall ist es einfach genug, sich zu erinnern, indem das „L“ mit dem „Look“ verknüpft wird. Mit diesem Befehl kann ein Serveradministrator einfach den gesamten Inhalt seiner Cron-Tab-Datei anzeigen, ohne ihn vollständig vom Server zu entfernen und ohne die Möglichkeit zu haben, den Inhalt zu bearbeiten. Diese schreibgeschützte Anzeige des Cron-Registerkarteninhalts ist ideal, um sich zu merken, welche Aufgaben zu welchen Zeiten geplant sind, und um die Integrität der Datei selbst zu überprüfen.

Warum es wichtig ist, den Cron-Job und die Cron-Tab-Automatisierungsdateien zu beherrschen

Im Allgemeinen ist die einzige Automatisierung eines Servers das Drehen der Festplatte und die Leistung der Hardwarefunktionen. Darüber hinaus muss der Server jedoch geschultes und angewiesenes sein, um Routine- und außergewöhnliche Aufgaben auszuführen, die über das bloße Anzeigen eines Software-Bedienfelds oder das Aktualisieren der Installation von PHP oder Perl, die ein Benutzer auf die Festplatte gestellt hat, hinausgehen.

Es ist wichtig, sich daran zu erinnern, dass eine der wichtigsten Funktionen, die ein Server regelmäßig ausführen kann, die Erstellung einer Site-Sicherung von Daten und Einstellungen ist. Es gibt praktisch keine Möglichkeit, diesen Prozess ohne einen Cron-Auftrag zu automatisieren. Aufgrund der Beschaffenheit des Internets und aller böswilligen Besucher, die täglich eine Website durchlaufen, kann die Nichtautomatisierung dieses Prozesses auf täglicher oder wöchentlicher Basis erhebliche Folgen haben und katastrophaler Datenverlust.

Darüber hinaus gibt es jedoch eine Reihe von Aufgaben, die mithilfe des Cron-Jobprozesses automatisiert werden sollten. Zu diesen Aufgaben gehört das Löschen von Site-Caches, in denen Site-Besuchern möglicherweise veraltete Bilder oder gedruckte Inhalte angezeigt werden. Dazu gehört auch, alte Dateien zu löschen, alte Verzeichnisse und Bilder zu bereinigen und sicherzustellen, dass alles, was auf der Festplatte eines Servers gespeichert ist, aktuell und unbeschädigt ist.

Genauso wie ein gesunder PC die Datenträgerwartung, Antiviren- und Malware-Scans, Software-Updates und das Löschen von Dateien automatisch plant, muss ein gesunder Server so konfiguriert sein, dass er für sich selbst sorgt und in gutem Zustand bleibt. Andernfalls wird es anfällig für Abstürze, Hacking-Versuche und Datenverlust, die zu Gewinneinbußen, Werbung, Erstellung von Inhalten und sogar zum Status der Suchmaschinen führen.

Einfach zu erlernen und einfacher bereitzustellen

Das Erstellen eines Cron-Jobs auf einer Standard-Cron-Registerkarte ist eine der einfachsten Aufgaben, die ein Serveradministrator ausführen kann.

Der Prozess liegt in der Standardbefehlszeile und unterteilt jedes Zeitsegment in einen zweistelligen Code.

Da für das Automatisieren von Aufgaben keine zusätzlichen Kenntnisse einer neuen Programmiersprache erforderlich sind, baut der Dienst im Wesentlichen auf den vorhandenen Kenntnissen über Programmier- und Serverbetrieb auf, die ein Administrator bereits besitzt. Da dies der Fall ist, gibt es einfach keinen Grund, nicht mit der Automatisierung wesentlicher Serverfunktionen zu beginnen und die Integrität der Standortdaten und -vorgänge sicherzustellen.

Über Jerry Low

Gründer von WebHostingSecretRevealed.net (WHSR) - eine Hosting-Bewertung, die von 100,000-Benutzern als vertrauenswürdig und nützlich erachtet wird. Mehr als 15 Jahre Erfahrung in den Bereichen Webhosting, Affiliate-Marketing und SEO. Mitwirkender bei ProBlogger.net, Business.com, SocialMediaToday.com und anderen.