Mit dem Befehl plan verwaltest Du Deine Backup-Pläne auf der Kommandozeile: zeigen, anlegen, ändern, pausieren, einschalten, sofort ausführen und löschen.
WP-CLI ist noch nicht eingerichtet? Dann beginne mit WP-CLI installieren. Was für jeden Befehl gilt, zum Beispiel der Benutzer und der Schalter --force, steht in Die Befehle im Überblick.
Ein Backup-Plan bündelt, wann ein Backup läuft, was es enthält, wohin es geht und wie viele Backups je Ziel bleiben. Einen Plan nennst Du mit seiner Kennung, zum Beispiel plan-1, oder mit seinem Namen. Bei den Buchstaben a bis z spielt Groß- und Kleinschreibung im Namen keine Rolle; Umlaute schreibst Du so, wie sie im Namen stehen. Ein Name mit Leerzeichen steht in Anführungszeichen.
Jede Aktion außer list prüft, ob Du als der Benutzer arbeitest, dem die Ordner des Plugins gehören. --force übergeht diese Prüfung.
Pläne zeigen: list
# Alle Pläne mit Zustand, Rhythmus und nächstem Lauf zeigen wp cloneworx-backup plan list
Die Ausgabe nennt je Plan zwei Zeilen. Die erste trägt die Kennung, den Zustand, den Namen, den Rhythmus mit der Startzeit und die Kennungen der Ziele. Die zweite nennt den nächsten Lauf, den letzten Lauf, den Inhalt, Max. Sicherungen und die Momentaufnahme. Die letzte Zeile zählt die Pläne und nennt, wie viele es höchstens sein dürfen.
| In der Ausgabe | Bedeutung |
|---|---|
active |
Der Plan ist aktiv und läuft zu seinem nächsten Lauf von selbst. |
paused |
Der Plan ist pausiert. Es sind keine Backups geplant. |
paused (no target) |
Der Plan ist pausiert, weil er kein Ziel mehr hat. Wähle ein Ziel, dann lässt er sich einschalten. |
next run |
Der nächste Lauf in der Zeitzone der Website. Bei einem pausierten Plan steht hier ein Strich. |
last run |
Der letzte Lauf mit seinem Auslöser: schedule (Zeitplan), manual (auf den Seiten des Plugins) oder cli (Kommandozeile). missed nennt einen Termin, der danach verpasst wurde. could not start heißt: Der letzte Lauf auf Termin konnte nicht starten. |
roots |
Was der Plan sichert, als Liste der Bereiche. |
retention |
Max. Sicherungen |
snapshot |
Datenbank als Momentaufnahme sichern: yes oder no
|
Einen Plan anlegen: add
# Täglich um 03:15 Uhr an das Ziel sftp-1 sichern wp cloneworx-backup plan add --targets=sftp-1 --rhythm=daily --time=03:15 --name="Nachts" # Sonntags um 22 Uhr Datenbank und Uploads, 3 Backups behalten wp cloneworx-backup plan add --targets=local-1 --rhythm=weekly --weekday=7 --time=22:00 --roots=db,wp-uploads --retention=3 # Den neuen Plan einschalten wp cloneworx-backup plan resume "Nachts"
Pflicht ist allein --targets. Alles andere hat eine Vorgabe.
| Schalter | Bedeutung | Erlaubte Werte |
|---|---|---|
--targets=<Kennung> |
Das Ziel des Plans, im Formular Backups gehen nach. Pflicht. | Die Kennung eines benutzbaren Ziels, nicht sein Name. Die freie Version erlaubt ein Ziel je Plan. |
--name=<Name> |
Der Name des Plans. Ohne den Schalter vergibt das Plugin seinen Vorschlag. | Höchstens 100 Zeichen. Jeder Name geht, den noch kein anderer Plan trägt. |
--rhythm=<Rhythmus> |
Rhythmus |
1h, 2h, 4h, 6h, 12h, daily, weekly, monthly. Vorgabe: daily. |
--time=HH:MM |
Uhrzeit in der Zeitzone der Website. | Stunde 0 bis 23, Minuten 00, 15, 30 oder 45. Vorgabe: eine zufällige Uhrzeit. |
--weekday=<Zahl> |
Wochentag, beim Rhythmus weekly. |
1 für Montag bis 7 für Sonntag. Vorgabe: 1. |
--monthday=<Tag> |
Tag im Monat, beim Rhythmus monthly. |
1 bis 28, oder last für den letzten Tag des Monats. Vorgabe: 1. |
--roots=<Liste> |
Was gesichert wird: die Bereiche, durch Komma getrennt. | Siehe die Tabelle der Bereiche. Vorgabe: alle. |
--retention=<Zahl> |
Max. Sicherungen: so viele gute Backups bleiben je Ziel. | 1 bis 99. Vorgabe: 7. |
--snapshot=<Wert> |
Datenbank als Momentaufnahme sichern |
yes oder no. Vorgabe: yes. |
--force |
Übergeht die Prüfung des Benutzers. |
-
Ein neuer Plan ist pausiert. Er läuft erst, wenn Du ihn mit
resumeeinschaltest. - Die Startzeit kann von der Uhrzeit abweichen. Beim Anlegen zählt das Plugin zufällig 0 bis 14 Minuten dazu und behält diesen Zusatz bei. Aus 03:15 wird zum Beispiel 03:22. So starten nicht alle Websites eines Servers in derselben Minute.
-
Bei den Rhythmen von
1hbis12hzählt von der Uhrzeit nur die Minute. Die Läufe liegen ab 0 Uhr im Abstand des Rhythmus. - Die freie Version erlaubt zwei Pläne. Ist die Grenze erreicht, legt der Befehl keinen weiteren an.
Die Bereiche für --roots
| Wert | Im Formular | Inhalt |
|---|---|---|
db |
Datenbank | Die Tabellen der Datenbank, die zu dieser Website gehören. |
wp-config |
wp-config.php | Die Datei wp-config.php. Ein Restore spielt sie nie zurück. |
wp-content |
wp-content | Alles in wp-content, das nicht zu Plugins, Themes, Must-use-Plugins oder Uploads gehört. |
wp-core |
WordPress-Kern | Die Ordner wp-admin und wp-includes und die Dateien, die WordPress im Hauptverzeichnis ausliefert. |
wp-mu-plugins |
Must-use-Plugins | Der Ordner der Must-use-Plugins. |
wp-plugins |
Plugins | Der Ordner der Plugins. |
wp-themes |
Themes | Der Ordner der Themes. |
wp-uploads |
Uploads | Der Ordner der Uploads. |
wp-root |
Hauptverzeichnis | Alles andere im Hauptverzeichnis der Website, zum Beispiel .htaccess und robots.txt. |
Ausschlussregeln und Tabellen, von denen nur die Struktur gesichert wird, gelten für die ganze Website und damit für jeden Plan. Mehr dazu: Festlegen, was gesichert wird.
Einen Plan ändern: edit
# Die Uhrzeit ändern und die Momentaufnahme abschalten wp cloneworx-backup plan edit "Nachts" --time=04:30 --snapshot=no # Ein anderes Ziel wählen wp cloneworx-backup plan edit plan-1 --targets=local-1
edit nimmt dieselben Schalter wie add und braucht mindestens einen davon. Geändert wird nur, was Du nennst. Änderst Du Rhythmus, Tag oder Uhrzeit, rechnet das Plugin den nächsten Lauf neu. Der zufällige Zusatz zur Uhrzeit bleibt derselbe.
Pausieren und einschalten: pause und resume
# Den Plan pausieren wp cloneworx-backup plan pause plan-1 # Den Plan einschalten wp cloneworx-backup plan resume plan-1
resume nennt in der Ausgabe den nächsten Lauf. Das Plugin rechnet ihn ab jetzt: Ein Plan, der wochenlang pausiert war, startet nicht in dem Augenblick, in dem Du ihn einschaltest. Einschalten lässt sich ein Plan nur mit einem benutzbaren Ziel, also einem Ziel, dessen letzter Verbindungstest gelungen ist.
Ein aktiver Plan startet zu seinem nächsten Lauf von selbst, sobald ein Taktgeber die Website anstößt. Kommt innerhalb einer Stunde nach dem Termin kein Taktgeber, gilt der Lauf als verpasst: Es startet nichts, und der Plan rückt auf seinen nächsten regulären Termin. Eine Website ohne Besucher braucht deshalb einen System-Cron: Zeitplan und System-Cron mit WP-CLI.
Einen Plan sofort ausführen: run
# Den Plan jetzt ausführen und auf das Ergebnis warten wp cloneworx-backup plan run "Tägliches Backup" # Das Backup nur starten; die Website führt es weiter wp cloneworx-backup plan run plan-1 --background
run startet sofort ein Backup mit dem Inhalt und dem Ziel des Plans. Das geht auch bei einem pausierten Plan: Pausiert ist nur der Zeitplan. Das Backup zählt zum Plan und gilt als sein letzter Lauf. Den nächsten geplanten Lauf verschiebt es nicht.
| Schalter | Bedeutung |
|---|---|
--background |
Der Befehl startet das Backup und endet. Die Website führt es selbst weiter; den Stand zeigt wp cloneworx-backup job status. |
--force |
Übergeht die Prüfung des Benutzers. |
Ohne --background zeigt der Befehl je Schritt eine Zeile mit dem Fortschritt: die Phase, die Zahl der Einträge, die Menge und, sobald sie sich schätzen lässt, die verbleibende Zeit. Am Ende steht das Ergebnis mit der Zahl der Schritte und der Warnungen, darunter die Einzelheiten zu Datenbank, Dateien und Übertragung je Ziel. Nach einem guten Backup führt der Befehl auch den Nachlauf zu Ende: Er löscht Backups, die über Max. Sicherungen hinausgehen, und räumt Reste an den Zielen auf.
Scheitert das Backup, nennt die Ausgabe die letzten Meldungen des Jobs, den Stand je Ziel und den Grund. Hat der Plan kein benutzbares Ziel oder läuft schon ein anderer Job, startet der Befehl nichts und sagt das.
Einen Plan löschen: remove
# Den Plan löschen; seine Backups bleiben wp cloneworx-backup plan remove "Nachts"
Der Befehl fragt nicht nach
Anders als auf der Seite Backup gibt es hier keine Rückfrage: Der Plan ist sofort gelöscht. Die Backups, die er erstellt hat, bleiben.
Löschst Du alle Pläne, legt das Plugin mit dem nächsten Ziel, das Du hinzufügst, wieder einen ersten Plan an.
Wenn der Befehl eine Angabe ablehnt
Passt eine Angabe nicht, speichert der Befehl nichts. Er nennt das Feld mit einem Code und endet mit Plan settings are not valid.
| Feld | Code | Bedeutung |
|---|---|---|
name |
required, taken, too_long
|
Der Name ist leer, gehört schon einem anderen Plan oder ist länger als 100 Zeichen. |
rhythm, weekday, monthday, snapshot
|
invalid |
Der Wert steht nicht in der Tabelle der erlaubten Werte. |
roots |
required, invalid
|
Die Liste ist leer oder nennt einen Bereich, den es nicht gibt. |
targets |
required |
Die Liste ist leer. |
targets |
too_many |
Der Plan nennt mehr Ziele, als erlaubt sind. |
targets |
unknown |
Das Ziel gibt es nicht, oder es ist entfernt. |
targets |
not_usable |
Das Ziel ist nicht benutzbar. Teste zuerst seine Verbindung. |
retention |
invalid, out_of_range
|
Der Wert ist keine ganze Zahl oder liegt nicht zwischen 1 und 99. |
state |
no_usable_target |
Der Plan lässt sich nicht einschalten, weil er kein benutzbares Ziel hat. |
Eine Uhrzeit in falscher Form lehnt der Befehl sofort ab und nennt die erlaubte Form. Ist die Höchstzahl der Pläne erreicht, meldet er die Grenze, zum Beispiel At most 2 plans.