Cronjob erstellen – so geht’s!

Nach dem Beitrag der letzten Woche sollte jeder von euch in der Lage sein sich sein eigenes, persönliches Backup-Script zu erstellen.
Heute werde ich euch beweisen, dass das was ich euch im letzten Beitrag versprochen habe, auch tatsächlich funktioniert!

Wir werden unsere Datei namens Backup.sh vom Server starten lassen. Um noch einen Schritt weiter zu gehen, werden wir mit Hilfe eines Cronjobs einen Zeitplan festlegen, zu welchem das Script automatisch ausgeführt werden soll.

Am Ende dieser Anleitung solltet ihr also durch euren Cronjob täglich ein neues Backup erstellt bekommen. Dieses wird dann auf eurem FTP-Server bereitstehen bis zur nächsten Woche, wo wir es dann wieder einspielen werden.

Also los! Cronjob erstellen – so gehts!

 

Anleitung zur Einrichtung eines Cronjobs – los gehts!

Falls ihr einen Mac besitzt, könnt ihr gleich mit Hilfe des Terminals durchstarten! Einfach in Spotlight „Terminal“ eingeben und drauf los tippen.

Seit ihr jedoch im Besitz eines Windows-PCs ist es schon nicht mehr ganz so einfach – allerdings auch nicht besonders schwer.
Es kursieren zwar Gerüchte, dass Windows in Zukunft auch SSH in seine PowerShell integrieren wird, dies ist laut meines Wissens allerdings noch nicht geschehen – also kommt ihr um einen Client eines Drittanbieters nicht herum. PuTTY ist sehr berühmt und wird von vielen Nutzern eingestezt.
Ich könnt den Client auf der Seite des Herstellers downloaden -> PuTTY downloaden

Sind nun alle Vorbereitungen getroffen, können wir auch schon loslegen:

 

Verbindung mit eurem Server via SSH

Klärt bitte vorher mit eurem Server-Provider ab, ob SSH in eurem Tarif inkludiert ist und wie ihr an die Zugangsdaten rankommt. Diese werden im folgenden Abschnitt nämlich benötigt.
Öffnet das Terminal und gebt folgenden Befehl ein:

ssh USER@HOSTNAME

Beachtet bei der anschließenden Passworteingabe, dass euch das Passwort weder in Buchstaben, noch in den üblichen „Sternchen“ angezeigt wird. Das hat mich anfangs oft verwirrt, ist allerdings nur Gewöhnungssache.

 

Einsicht in den Crontab

Hat mit der Verbindung via SSH alles geklappt, befinden wir uns nun auf unserem Webserver. Nun wollen wir erstmal überprüfen ob bereits Cronjobs angelegt wurden, und falls ja, was es mit diesen auf sich hat.
Wir geben also folgendes in unser Terminal ein um eine Liste aller Cronjobs zu erhalten:

crontab -l

Wir erhalten nun eine Datei, welche in etwa so aussehen sollte:

Cronjob im Terminal

 

Erstellung eines neuen Cronjobs

Wie wir nun in unserem Terminal sehen, können … sehen wir nichts. Alle Zeilen mit einer Raute davor, werden als Kommentare gewertet und somit nicht vom Server berücksichtigt. Es wurden also noch kein Cronjob angelegt – doch das werden wir nun ändern.
Gebt folgenden Code in euere Kommandozeile ein:

crontab -e

Nun solltet ihr die selbe Datei nocheinmal sehen, diesmal jedoch mit einem kleinen Unterschied. Nach den ganzen Kommentaren, sollten lauter kleine Wellen abgebildet sein. Jede dieser „Wellen“ steht für einen Cronjob, welchen ihr nun anlegen könnt.

Mac OS verwendet noch immer VI zum Anzeigen der Crontabs, hier müsst ihr vor der Bearbeitung die Taste „i“ drücken um einen neuen Cronjob anlegen zu können!
Ob und wie das bei einem Client wie beispielsweise PuTTY funktioniert, weiß ich leider nicht. Doch probieren geht ja bekanntlich über studieren!

Wir springen nun also ans Ende der Datei und beginnen zu tippen. Zu aller erst müssen wir einen Zeitplan festlegen, in welchem Intervall wir unseren Cronjob ausführen wollen.
Hierbei helfen uns die zahlreichen Kommentare im Crontab schon um einen groben Überblick zu erhalten. Ich habe sie euch hier unten noch einmal deutlich zusammengefasst.

 

Zeitplan eines Cronjobs

Wir haben insgesamt fünf Stellen, welche wir mit Zahlen belegen können.

  1. Die erste Stelle gibt die Minuten an.
    Bsp: Es soll ein Cronjob um 00:30 ausgeführt werden -> Schreibt an dieser Stelle die 30!
  2. Die zweite Stelle gibt die Stunden.
    Bsp: Es soll ein Cronjob um 00:30 ausgeführt werden -> Schreibt an dieser Stelle eine 0!
  3. Diese Stelle gibt einen bestimmten Tag im Monat an.
    Bsp: Ein Cronjob soll immer am Ersten eines Monats ausgeführt werden -> Schreibt an dieser Stelle eine 1!
  4. Diese Stelle gibt das Monat an.
    Bsp: Ein Cronjob soll nur im Dezember ausgeführt werden -> Schreibt an dieser Stelle eine 12!
  5. Diese Stelle gibt den Wochentag an.
    Bsp: Ein Cronjob soll jeden Montag ausgeführt werden -> Schreibt an dieser Stelle eine 1!

Ein Stern (*) steht für „immer“. So könnt ihr Beispielsweise jeden Sonntag ein Backup um 01:30 erstellen lassen in dem ihr die fünf Stellen folgendermaßen besetzt: 30 1 * * 7

 

Der eigentliche Cronjob

Wir wollen in unserer Anleitung ein tägliches Backup um 02:30 erstellen lassen. Die fünf Stellen besetzen wir also folgendermaßen: 30 2 * * *.
Nach dem Zeitplan muss der eigentliche Cronjob folgen. Dieser besteht aus einem Shell-Befehl und in unserem Fall muss dieser lediglich unsere Datei, welche wir im letzten Beitrag erstellt haben, ausführen.
Hierfür reicht es aus wenn wir den Pfad zu unserem Script angeben:

/ROOT-VERZEICHNIS/Backup/Backup.sh

Vergesst nicht das ROOT-VERZEICHNIS durch eueren persönlichen Pfad zu ersetzen. Wo ihr diesen herbekommt, habe ich schon letztes Mal erklärt.

Hier also der gesamte Cronjob für Copy&Paste:

30 2 * * * /ROOT-VERZEICHNIS/Backup/Backup.sh

 

Verlassen des Crontabs

Um das VI zu verlassen, reicht ein simpler Drücker auf die Escape-Taste. Um euren Cronjob nun zu speichern und zu installieren ist folgender Code von nöten:

:wq

 

Beenden der SSH Verbindung

Habt ihr folgende Erfolgsnachricht bekommen: crontab: installing new crontab, könnt ihr die Verbindung mit eurem Server auch schon trennen. Dies geschieht mit folgendem Befehl:

exit

 

Zusammenfassung

Das waren jetzt viele Infos auf einmal. Diejenigen die schon lange ausgestiegen sind können hier nochmal die Code-Zeilen nacheinander lesen.

ssh USER@HOSTNAME

crontab -e

30 2 * * * /ROOT-VERZEICHNIS/Backup/Backup.sh

:wq

exit

Hier seht ihr nun, dass es eigentlich garnicht so kompliziert ist einen Cronjob einzurichten. Es reichen schon fünf simple Code-Zeilen und alles ist fertig installiert.
Nächste Woche werde ich euch zeigen, wie ihr ein solches Backup wieder einspielen könnt, wenn wirklich einmal etwas schiefgehen sollte.

 

Bis dahin, wünsche ich euch eine schöne Woche und viel Spaß bei der Erstellung eures ersten Cronjobs.
Euer Alex

Empfohlene Beiträge

Noch kein Kommentar, Füge deine Stimme unten hinzu!


Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

dreizehn − 10 =