Automatisieren Sie Ihre WordPress-Sicherung mit Simple Shell Scripting & CRON

Automatisieren Sie Ihre WordPress-Sicherung mit Simple Shell Scripting & CRON / Wordpress & Webentwicklung

Als wir das letzte Mal über WordPress-Backups sprachen, zeigte ich Ihnen, wie unglaublich einfach es ist, Ihre gesamte Datenbank und Dateien zu sichern, obwohl SSH Ihre Website über die SSH-Befehlszeile gesichert hat. So sichern Sie Ihre Website über die SSH-Befehlszeile Seien Sie eine teure und mühsame Aufgabe, die verschiedene Plugins oder zusätzliche Pläne von Ihrem Hosting-Provider erfordert - aber das muss nicht wirklich sein. Wenn Sie SSH haben, lesen Sie mehr mit nur wenigen Befehlen. Dieses Mal werde ich Ihnen zeigen, wie Sie diese Befehle automatisieren können, sodass Sie jede Woche neue Sicherungskopien Ihrer gesamten Site erstellen können, und dies mit sehr geringem Aufwand. Dies ist auch eine großartige Einführung in sowohl das Shell-Scripting als auch CRON, wenn Sie sie noch nie zuvor berührt haben. Der Schlüssel zum Erlernen solch großer Themen besteht darin, sie sofort zu nutzen, um etwas Nützliches für Sie zu tun.

Recap: Alles sichern

Wir haben das letzte Mal besprochen, aber eine kurze Zusammenfassung der zwei Befehle, die zum Sichern Ihrer Datenbank und Ihrer Dateien erforderlich waren, vorausgesetzt, Sie haben sich bereits angemeldet und haben sich in das Website-Verzeichnis verschoben (lesen Sie das erste Tutorial, wenn Sie nicht verstehen). Stellen Sie sicher, dass Sie sie in dieser Reihenfolge ausführen, sodass Ihre Dateisicherung die Datenbankdatei enthält, die Sie im ersten Befehl ausgegeben haben:

mysqldump --add-drop-table -u Benutzername -p datenbankname> databasebackup.sql tar -cf backupfile.tar .

Ersetze das Nutzername und Name der Datenbank Elemente mit Ihrer Datenbank und Benutzernamen.

Automatisierungsschritt 1: Scripting

Für den Moment erstellen wir ein neues Skript, das einfach die Befehle ausführt, die Sie für das Backup gelernt haben. Einige Änderungen betreffen auch das Kennwort (da dies automatisiert wird, können Sie das Kennwort nicht jedes Mal eingeben.) ). Wenn wir fertig sind, sollten Sie nur noch einen Befehl ausführen, der zwei Befehle für Sie ausführt!

Es ist auch an der Zeit, dass Sie gelernt haben, wie Sie Textdateien auch über die Befehlszeile bearbeiten, da Sie sich nicht immer auf FTP und GUI verlassen können. Sie können dazu einen einfachen textbasierten Editor namens vi verwenden.

Um die App zu starten und Ihr erstes Skript zu erstellen, geben Sie Folgendes ein:

vi mybackupscript.sh

Wenn die Datei nicht bereits vorhanden ist, wird sie erstellt, und es wird ein ziemlich abschreckender Bildschirm angezeigt, der dem folgenden ähnelt:

vi hat zwei Modi - Editier- und Befehlsmodus. Um in den Bearbeitungsmodus zu gelangen, drücken Sie i. Dann können Sie mit dem Tippen beginnen. Sie wissen, dass es funktioniert hat, da sich links unten in -INSERT befindet-

Beginnen Sie, indem Sie Folgendes eingeben:

#! / bin / sh mysqldump --add-drop-table -uNutzername -pPasswort Tabellenname > dbbackup.sql tar -cf backup.tar .

Beachten Sie, dass wir dieses Mal das Kennwort in den Befehl aufnehmen. Beachten Sie außerdem, dass wir das Kennwort sofort mit dem Schalter -p angeben und es danach ohne Leerzeichen eingeben. Wenn Sie möchten, können Sie den Befehl stattdessen wie folgt schreiben. Funktionell besteht jedoch kein Unterschied:

#! / bin / sh mysqldump --add-drop-table --user =Nutzername --Passwort =Passwort Tabellenname > dbbackup.sql tar -cf backup.tar .

Jetzt müssen wir es speichern. Drücken Sie einmal ESC, um den Bearbeitungsmodus und den Befehlsmodus des Texteditors zu verlassen. Art:

:schreiben

und drücken Sie dann die Eingabetaste

:Verlassen

und erneut eingeben.

Inzwischen haben Sie herausgefunden, dass allen Befehlen, die Sie geben, ein Doppelpunkt vorangestellt werden muss. Das ist jetzt alles mit vi.

Zurück in der Befehlszeile, machen Sie Ihr neues Skript ausführbar, indem Sie Folgendes eingeben:

chmod 744 mybackupscript.sh

Und zum Schluss testen Sie es mit:

./mybackupscript.sh

Abhängig von der Größe Ihrer Site und der Geschwindigkeit Ihres Servers kann es eine Weile dauern. Am Ende können Sie die Dateien auflisten und eine backup.tar finden. Auf meinem virtuellen privaten Server dauerte es etwa 5 Sekunden, um die 100 MB-WordPress-Site-Sicherung zu erstellen.

Automatisierungsschritt zwei: CRON

CRON ist ein Taskplaner für Linux. Wir werden hier nicht ausführlich darauf eingehen, aber ich gebe Ihnen alles, was Sie brauchen, um Ihr Backup-Skript jede Woche auszuführen. Außerdem haben wir beschrieben, wie Sie CRON-Jobs über Ihr GUI-basiertes Website-Kontrollfeld ausführen. Um dem CRON-Scheduler eine Aufgabe hinzuzufügen, fügen Sie einfach eine Zeile zum hinzu “Crontab”. Bearbeiten Sie dies durch Eingabe von:

Crontab -e

Dadurch wird die CRON-Datei in Ihrem Texteditor geöffnet, höchstwahrscheinlich wieder vi. Wenn Sie noch nie etwas hinzugefügt haben, ist es wahrscheinlich auch leer. Keine Bange. Fügen Sie diese Zeilen hinzu:

00 4 * * 0 /httpdocs/mybackupscript.sh

Das Format, auf das dieser Befehl folgt, ist etwas schwierig, aber er lautet folgendermaßen:

Minutenstunde Tag des Monats Monat Wochentag

Ein * im Muster ignoriert dieses Element. Im obigen Beispiel werden wir also unser Sicherungsskript um 00 Minuten 4 Stunden alle 0 (Sonntag) der Woche ausführen.

Hier einige weitere Beispiele, die Ihnen helfen, das Verständnis zu erleichtern:

01 * * * * echo "Dieser Befehl wird um eine Minute nach jeder vollen Stunde ausgeführt." 17 8 * * * Echo "Dieser Befehl wird täglich um 8:17 Uhr ausgeführt." 17 20 * * * Echo "Dieser Befehl wird täglich um 8 Uhr ausgeführt : 17 pm "00 4 * * 0 echo" Dieser Befehl wird jeden Sonntag um 4 Uhr morgens ausgeführt. "* 4 * * Sonnenecho" So ist das "42 4 1 * * Echo" Dieser Befehl wird jeden 1. um 4:42 Uhr ausgeführt der Monat "01 * 19 07 * Echo" Dieser Befehl wird am 19. Juli stündlich ausgeführt. "

Wenn Sie das eingegeben haben, speichern Sie die Datei, indem Sie ESC drücken, und geben Sie Folgendes ein: write gefolgt von: quit. Eine Abkürzungsversion von diesem ist, einfach einzugeben: wq, das die Datei sowohl schreibt als auch beendet. Es ist praktisch, aber wenn Sie so etwas wie ich sind, vergessen Sie diese kleinen Abkürzungen.

Das ist es! Sie haben jetzt eine aktuelle Kopie Ihrer Datenbank und der gesamten Site im Stammverzeichnis, genannt backup.tar (oder wie auch immer Sie es benannt haben). Vielleicht möchten Sie ein wenig mehr Skripting lernen, um das Datum am Ende des Dateinamens hinzuzufügen und zu vermeiden, dass jedes Mal dasselbe Datum überschrieben wird. Ich hoffe, Sie können sehen, wie mächtig die Befehlszeile jetzt ist!

Erfahren Sie mehr über: Computerautomatisierung, Datensicherung, Programmierung, Wordpress.