Mit dem Befehl target verwaltest Du Deine Ziele auf der Kommandozeile: zeigen, anlegen, ändern, testen, prüfen, aufräumen und entfernen. Dazu kommen die Aktionen für einen Fingerabdruck-Konflikt und für das Wiederfinden von Backups.
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 --background, steht in Die Befehle im Überblick.
Passwörter und Schlüssel bleiben der Seite Ziele vorbehalten
Die Kommandozeile nimmt nie ein Passwort und nie einen Schlüssel an: Jeder Wert stünde dort in der Liste der Prozesse und im Verlauf der Shell. Anlegen kannst Du hier deshalb nur einen lokalen Ordner. Ziele mit Zugangsdaten richtest Du auf der Seite Ziele ein. Dasselbe gilt für ein Ziel der Art Google Drive: Die Zustimmung bei Google gibst Du im Browser. Die anderen Aktionen gehen danach auch mit diesen Zielen.
Ein Ziel nennen
Ein Ziel nennst Du mit seiner Kennung oder mit seinem Namen. Die Kennung besteht aus der Ziel-Art und einer laufenden Nummer, zum Beispiel local-1 oder sftp-1. Die Kennung ändert sich nie, auch wenn Du das Ziel umbenennst. Bei Namen spielt Groß- und Kleinschreibung keine Rolle; 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.
Ziele zeigen: list
# Alle Ziele mit Kennung und Zustand zeigen wp cloneworx-backup target list
Die Ausgabe nennt je Ziel eine Zeile: Kennung, Ziel-Art, Name, Zustand und Ort. Die letzte Zeile beginnt mit Types: und zählt die Ziel-Arten auf, die es gibt: local, ftp, sftp, webdav, amazon-s3, s3 und google-drive. Fehlt dem Server etwas für eine Ziel-Art, steht es in Klammern dahinter.
| Zustand in der Ausgabe | Bedeutung | Benutzbar |
|---|---|---|
connected (tested …) |
Der letzte Verbindungstest ist gelungen; dahinter steht sein Zeitpunkt. | ja |
not tested yet |
Gespeichert, aber seit der letzten Änderung der Einstellungen ohne gelungenen Test. | nein |
test failed (…) |
Der letzte Verbindungstest ist gescheitert; in der Klammer steht der Code des Grunds. | nein |
disconnected (…) |
Die gespeicherten Zugangsdaten sind nicht mehr benutzbar; in der Klammer steht der Code des Grunds, zum Beispiel secrets_unreadable (nicht mehr lesbar) oder auth_failed (vom Ziel abgelehnt). Gib sie auf der Seite Ziele neu ein: Zugangsdaten eines Ziels erneuern. Bei einem Ziel der Art Google Drive heißt der Code grant_invalid, wenn der Anbieter die Zustimmung nicht mehr annimmt; Du verbindest es dort neu. |
nein |
type not available |
Dem Server fehlt etwas für diese Ziel-Art. | nein |
removed |
Entfernt; Backups in der Liste verweisen noch auf das Ziel. | nein |
Hinter dem Zustand können zwei Vermerke stehen. CATALOG CONFLICT ist ein Fingerabdruck-Konflikt: Der Katalog am Ziel gehört einer anderen Installation, die Ausgabe nennt deren Adresse. catalog stale heißt: Der Katalog am Ziel ließ sich zuletzt nicht schreiben; das Backup ist trotzdem gut, und das nächste Backup schreibt den Katalog neu.
Ein Ziel anlegen: add
# Einen lokalen Ordner als Ziel anlegen wp cloneworx-backup target add local --name="Archiv" --set-path=/var/backups # Das neue Ziel testen wp cloneworx-backup target test local-1
| Angabe | Bedeutung | Erlaubte Werte |
|---|---|---|
| Ziel-Art | Steht direkt hinter add. |
local. Die anderen Ziel-Arten verlangen ein Passwort oder einen Schlüssel und lassen sich deshalb hier nicht anlegen. google-drive lehnt der Befehl ab und nennt den Weg im Browser: Seite Ziele, Ziel hinzufügen. |
--name=<Name> |
Dein Name für das Ziel. Ohne den Schalter vergibt das Plugin seinen Vorschlag. | Höchstens 100 Zeichen. Jeder Name geht, der noch nicht vergeben ist, auch nicht an ein entferntes Ziel. |
--set-path=<Ordner> |
Der Ordner auf dem Server, im Formular das Feld Ordner auf dem Server. Pflicht. | Ein absoluter Pfad zu einem Ordner, den es schon gibt und in den geschrieben werden darf. Er darf nicht im Plugin-Verzeichnis liegen, das WordPress bei jedem Update löscht. |
--force |
Übergeht die Prüfung des Benutzers. |
Der Befehl speichert das Ziel und nennt seine Kennung. Getestet ist es damit noch nicht: Benutzbar wird ein Ziel erst durch einen gelungenen Verbindungstest. Den eigenen Ordner des Plugins musst Du nicht anlegen; er entsteht in dem Ordner, den Du nennst.
Mit Deinem ersten Ziel legt das Plugin den Plan „Tägliches Backup“ an. Er ist pausiert, bis Du ihn einschaltest. Mehr dazu: Backup-Pläne verwalten mit WP-CLI.
Passt eine Angabe nicht, speichert der Befehl nichts. Er nennt das Feld mit einem Code und endet mit Settings are not valid.
| Code | Bedeutung |
|---|---|
required |
Ein Pflichtfeld ist leer. |
base_invalid |
Der Pfad ist nicht absolut, oder es gibt den Ordner nicht. |
base_in_plugin |
Der Ordner liegt im Plugin-Verzeichnis. |
base_not_writable |
In den Ordner darf nicht geschrieben werden. |
taken, too_long
|
Der Name ist schon vergeben oder länger als 100 Zeichen. |
invalid, out_of_range
|
Der Wert ist nicht erlaubt oder liegt außerhalb seiner Grenzen. |
Ein Ziel ändern: edit
# Ein Ziel umbenennen wp cloneworx-backup target edit local-1 --name="Archiv 2" # Eine Einstellung ändern, dann neu testen wp cloneworx-backup target edit sftp-1 --set-port=2222 wp cloneworx-backup target test sftp-1
edit braucht mindestens --name oder eine Einstellung. Eine Einstellung setzt Du mit --set-, gefolgt vom Namen der Einstellung und ihrem Wert, zum Beispiel --set-port=2222. Gespeicherte Passwörter und Schlüssel bleiben dabei erhalten. Nach einer geänderten Einstellung gilt das Ziel wieder als nicht getestet: Teste es neu, sonst lassen Pläne und Backups es aus. Ein neuer Name ändert daran nichts.
| Einstellung | Feld im Formular | Ziel-Arten | Erlaubte Werte |
|---|---|---|---|
path |
Ordner auf dem Server, Ordner am FTP-Server, Ordner am SFTP-Server, Ordner im Bucket, Ordner in Google Drive | local, ftp, sftp, amazon-s3, s3, google-drive | Bei local Pflicht. Sonst darf der Wert leer sein. |
host |
Server | ftp, sftp | Hostname oder IP-Adresse |
user |
Benutzername | ftp, sftp, webdav | |
port |
Port | ftp, sftp | 1 bis 65535. Leer heißt bei ftp 21, bei implizitem FTPS 990, bei sftp 22. |
timeout |
Zeitgrenze für den Verbindungsaufbau (Sekunden) | ftp, sftp, webdav, amazon-s3, s3, google-drive | 3 bis 60, Vorgabe 10 |
security |
Verschlüsselung | ftp |
explicit (FTPS mit TLS), none (keine), implicit (FTPS, implizit) |
mode |
Übertragungsmodus | ftp |
passive, active
|
auth |
Anmeldung | sftp |
password, key
|
url |
Adresse des Ordners | webdav | Die volle Adresse |
method |
Upload-Verfahren | webdav |
range, chunks, whole. Leer heißt: was der Verbindungstest festgestellt hat. |
upload_rate |
Upload-Rate (Bytes je Sekunde) | webdav, amazon-s3, s3, google-drive | 1024 bis 1073741824. Leer heißt: was der Verbindungstest gemessen hat. |
bucket |
Bucket | amazon-s3, s3 | |
access_key |
Zugriffsschlüssel | amazon-s3, s3 | |
region |
Region | amazon-s3, s3 | |
endpoint |
Adresse des Dienstes | s3 | Die Adresse ohne den Bucket |
style |
Form der Adresse | s3 |
path, virtual. Leer heißt: was der Verbindungstest festgestellt hat. |
Nicht annehmen lässt sich, was geheim ist: password, private_key und secret_key. Die Einstellungen tls_pin und host_key tragen ein akzeptiertes Zertifikat oder den bestätigten Schlüssel eines Servers. Beide setzt die Seite Ziele, wenn Du dort ein Zertifikat oder einen Server-Schlüssel akzeptierst. Nennst Du eine Einstellung, die die Ziel-Art nicht kennt, zählt der Befehl die Einstellungen der Ziel-Art auf.
Die Verbindung testen: test
# Die Verbindung eines Ziels testen wp cloneworx-backup target test sftp-1
Der Test schreibt eine kleine Datei an das Ziel, liest sie zurück, vergleicht sie und löscht sie wieder. Das Ergebnis wird am Ziel gespeichert: Nach einem gelungenen Test ist das Ziel benutzbar.
Die Ausgabe nennt die Einzelheiten des Tests als Zeilen aus Name und Wert, zum Beispiel den freien Platz in der Zeile free_space. Die letzte Zeile sagt, ob das Ziel funktioniert (works) oder mit welchem Grund der Test gescheitert ist (failed). Gehören neue Dateien einem anderen Benutzer als der Ordner des Ziels, warnt der Befehl: Die Website kann solche Dateien vielleicht nicht ändern oder löschen.
Die Backups an einem Ziel prüfen: check
# Jedes Backup an diesem Ziel prüfen wp cloneworx-backup target check sftp-1 # Die Prüfung nur starten; die Website führt sie weiter wp cloneworx-backup target check sftp-1 --background
Die Prüfung liest jedes Backup, das an diesem Ziel liegt, das neueste zuerst: jede Datei, die Info-Datei, jedes Teil gegen seine Prüfsumme und jeden Block. Wiederhergestellt wird dabei nichts. Das Ergebnis steht danach auch in der Liste der Backups.
Die Ausgabe nennt je Backup eine Zeile mit dem Ergebnis und am Ende die Summe:
| Ergebnis in der Ausgabe | Bedeutung |
|---|---|
ok |
Das Backup ist lesbar und vollständig. Dahinter stehen die Zahl der Teile, die Zahl der Einträge und die gelesene Menge. |
damaged or incomplete |
Das Backup ist an diesem Ziel beschädigt oder unvollständig. Dahinter steht, was nicht stimmt. |
not checked |
Das Ziel hat nicht geantwortet. Das ist eine Warnung, kein Schaden am Backup. |
not complete at this target |
Das Backup liegt an diesem Ziel nicht vollständig. |
Geprüft wird jedes gute Backup, das an dem Ziel vollständig liegt oder dort als beschädigt vermerkt ist. Gibt es keines, startet die Prüfung nicht und sagt das.
Reste aufräumen: cleanup
# Nur zeigen, was entfernt würde wp cloneworx-backup target cleanup local-1 --dry-run # Die Reste entfernen wp cloneworx-backup target cleanup local-1
Ein Rest ist ein Ordner, den ein abgebrochener Job am Ziel hinterlassen hat und der nie ein Backup wird: Er hat keine Info-Datei, gehört nicht zum laufenden Job, und die Liste der Backups führt ihn an diesem Ziel nicht. Auch ein angefangener Upload zählt als Rest. Derselbe Lauf entfernt alte Dateien aus dem Arbeitsordner des Plugins auf dem Server. Ein Ordner mit Info-Datei bleibt immer liegen, und was in der Liste steht, fasst das Aufräumen nie an.
| Schalter | Bedeutung |
|---|---|
--dry-run |
Zeigt je Ordner die Zahl der Dateien und die Größe und entfernt nichts. Es läuft kein Job. |
--background |
Startet den Job; die Website führt ihn weiter. |
--force |
Übergeht die Prüfung des Benutzers. |
Die Ausgabe nennt je Ziel die Zahl der entfernten Ordner und Dateien und ihre Größe, dazu die Zahl der Backup-Ordner, die bleiben, obwohl die Liste sie nicht kennt. Solche Backups holst Du mit rebuild in die Liste. Das Aufräumen läuft auch von selbst nach jedem guten Backup, an den Zielen, an denen dieses Backup angekommen ist.
Einen Fingerabdruck-Konflikt beantworten: moved und copy
Bevor das Plugin an ein Ziel schreibt, vergleicht es den Fingerabdruck im Katalog am Ziel mit dem eigenen. Passen beide nicht zusammen, schreibt und löscht es dort nichts, bis Du entscheidest. Welche Antwort wann richtig ist, erklärt Die Website ist umgezogen oder eine Kopie.
# Dieselbe Website, neue Adresse oder neuer Pfad: umgezogen wp cloneworx-backup target moved sftp-1 # Diese Installation ist eine Kopie des Originals wp cloneworx-backup target copy sftp-1 --yes
| Aktion | Was geschieht |
|---|---|
moved |
Der Katalog am Ziel wird mit dem Fingerabdruck dieser Installation neu geschrieben, der vermerkte Konflikt ist erledigt, und das Ziel wird wieder benutzt. Die Ausgabe nennt die Adresse, die der Katalog vorher trug. Nimm moved nie für eine Kopie. |
copy --yes |
Diese Installation bekommt einen neuen Ordner-Code und damit einen eigenen Ordner an jedem Ziel. Der Protokoll-Ordner und der Arbeitsordner wandern mit. Die Backups in der Liste dieser Installation gehören dem Original und verschwinden aus der Liste; an den Zielen wird nichts gelöscht. Alle vermerkten Konflikte sind erledigt. Das nächste Backup schreibt in den neuen Ordner. |
copy gilt für die ganze Installation, nicht nur für das genannte Ziel. Ohne --yes ändert der Befehl nichts: Er nennt die Folgen und die Zahl der Einträge, die aus der Liste verschwinden würden.
Backups wiederfinden: sites, adopt und rebuild
Jede Installation des Plugins hat einen eigenen Ordner-Code, und ihre Backups liegen an jedem Ziel im Ordner cloneworx-backup-<Code>. Nach einem Totalverlust kennt die frische Installation den Ordner der früheren nicht. Den ganzen Weg beschreibt Backups nach einem Totalverlust wiederfinden.
# Zeigen, was am Ort des Ziels liegt wp cloneworx-backup target sites sftp-1 # Den Ordner einer früheren Installation übernehmen wp cloneworx-backup target adopt sftp-1 --folder=cloneworx-backup-0123456789abcdef0123456789abcdef # Backups aus dem eigenen Ordner in die Liste aufnehmen wp cloneworx-backup target rebuild sftp-1
sites
Die Ausgabe beginnt mit dem eigenen Ordner: ob sein Katalog lesbar ist, wie viele Backups der Katalog nennt, wie viele Backups die Liste an diesem Ziel führt und wie viele Backups des Ordners in der Liste fehlen. Darunter folgen die Ordner anderer Installationen, je Ordner mit der Adresse der Website aus seinem Katalog, der Zahl der Backups, dem Datum des letzten und der Version des Plugins. Die letzte Zeile sagt, ob Übernehmen gerade möglich ist.
adopt
| Schalter | Bedeutung | Erlaubte Werte |
|---|---|---|
--folder=<Name> |
Der Ordner der früheren Installation am Ziel. Pflicht. | Der Name des Ordners, cloneworx-backup- und 32 Zeichen, oder die 32 Zeichen allein. |
--background |
Startet das Aufnehmen in die Liste; die Website führt es weiter. | |
--force |
Übergeht die Prüfung des Benutzers. |
Diese Installation arbeitet danach mit dem Ordner-Code der früheren weiter. Der Protokoll-Ordner und der Arbeitsordner wandern mit, leere Ordner mit dem bisherigen Code werden an lokalen Zielen entfernt, und die Backups aus dem Ordner kommen in die Liste. Übernehmen bestätigt zugleich, dass die Website umgezogen ist.
Nur für Deine eigene Website, nur auf einer frischen Installation
Übernimm nur den Ordner Deiner eigenen Website. Solange die Liste dieser Installation Backups enthält oder ein Job läuft, lehnt der Befehl das Übernehmen ab. Nach dem Übernehmen landen die nächsten Backups in dem übernommenen Ordner.
rebuild
rebuild nimmt Backups aus dem eigenen Ordner am Ziel in die Liste auf, die dort fehlen, zum Beispiel nachdem ein Ziel entfernt und wieder eingerichtet wurde. Der Job liest den Katalog am Ziel, ohne lesbaren Katalog die Liste der Ordner. Zu jedem Backup holt er die Info-Datei und prüft, ob jede Datei in ihrer Größe am Ziel liegt. Mit --background führt die Website den Job weiter.
Die letzte Zeile nennt das Ergebnis: wie viele Backups gefunden wurden, wie viele neu in die Liste kamen, wie viele schon darin standen und wie viele unvollständig sind. Wiedergefundene Backups löscht das Plugin nie automatisch.
Ein Ziel entfernen: remove
# Das Ziel entfernen; seine Backups bleiben liegen wp cloneworx-backup target remove local-1 # Erst alle Backups am Ziel löschen, dann das Ziel entfernen wp cloneworx-backup target remove local-1 --with-backups
Der Befehl fragt nicht nach
Anders als die Seite Ziele stellt remove keine Rückfrage. Mit --with-backups sind die Backups an diesem Ziel danach gelöscht.
| Schalter | Bedeutung |
|---|---|
| ohne Schalter | Das Ziel wird entfernt. Die Backups bleiben am Ziel, wo sie sind. |
--with-backups |
Das Plugin löscht zuerst jedes Backup an diesem Ziel und entfernt dann das Ziel. Der Befehl führt den Job selbst bis zum Ende. Liegen gesperrte Backups am Ziel, lehnt er ab: Hebe zuerst die Sperren auf, oder entferne das Ziel ohne seine Backups. |
--force |
Übergeht die Prüfung des Benutzers. |
- Verweisen Backups in der Liste noch auf das Ziel, bleibt sein Eintrag als entfernt stehen, ohne Einstellungen und ohne Zugangsdaten. Die Ausgabe nennt die Zahl der Einträge, die noch darauf verweisen.
- Verweist kein Backup mehr darauf, löscht der Befehl den Eintrag ganz. Das gilt auch für ein Ziel, das schon entfernt ist.
- Ein entferntes Ziel verlässt jeden Backup-Plan. Ein Plan ohne Ziel wird pausiert. Einschalten lässt er sich erst wieder, wenn Du ihm ein Ziel gibst.