Met het commando target beheer je je doelen op de opdrachtregel: tonen, aanmaken, wijzigen, testen, controleren, opruimen en verwijderen. Daarbij komen de acties voor een vingerafdrukconflict en voor het terugvinden van back-ups.
Is WP-CLI nog niet ingesteld? Begin dan met WP-CLI installeren. Wat voor elk commando geldt, bijvoorbeeld de gebruiker en de parameter --background, staat in De opdrachten in één oogopslag.
Wachtwoorden en sleutels blijven voorbehouden aan de pagina Doelen
De opdrachtregel accepteert nooit een wachtwoord en nooit een sleutel: elke waarde zou daar in de lijst met processen en in de geschiedenis van de shell staan. Aanmaken kun je hier daarom alleen een lokale map. Doelen met inloggegevens stel je in op de pagina Doelen. Hetzelfde geldt voor een doel van het type Google Drive of Dropbox: de toestemming bij de aanbieder geef je in de browser. De andere acties werken daarna ook met deze doelen.
Een doel noemen
Een doel noem je met zijn kenmerk of met zijn naam. Het kenmerk bestaat uit het doeltype en een volgnummer, bijvoorbeeld local-1 of sftp-1. Het kenmerk verandert nooit, ook niet als je het doel hernoemt. Bij namen speelt hoofdlettergebruik geen rol; een naam met spaties staat tussen aanhalingstekens.
Elke actie behalve list controleert of je werkt als de gebruiker aan wie de mappen van de plugin toebehoren. --force slaat deze controle over.
Doelen tonen: list
# Alle doelen met kenmerk en status tonen wp cloneworx-backup target list
De uitvoer noemt per doel een regel: kenmerk, doeltype, naam, toestand en locatie. De laatste regel begint met Types: en somt de doeltypen op die er zijn: local, ftp, sftp, webdav, amazon-s3, s3, google-drive en dropbox. Ontbreekt op de server iets voor een doeltype, dan staat dat erachter tussen haakjes.
| Toestand in de uitvoer | Betekenis | Bruikbaar |
|---|---|---|
connected (tested …) |
De laatste verbindingstest is geslaagd; erachter staat het tijdstip. | ja |
not tested yet |
Opgeslagen, maar sinds de laatste wijziging van de instellingen zonder geslaagde test. | nee |
test failed (…) |
De laatste verbindingstest is mislukt; tussen de haakjes staat de code van de reden. | nee |
disconnected (…) |
De opgeslagen inloggegevens zijn niet meer bruikbaar; tussen de haakjes staat de code van de reden, bijvoorbeeld secrets_unreadable (niet meer leesbaar) of auth_failed (door het doel geweigerd). Voer ze opnieuw in op de pagina Doelen: De toegangsgegevens van een doel vernieuwen. Bij een doel van het type Google Drive of Dropbox heet de code grant_invalid als de aanbieder de toestemming niet meer accepteert; je verbindt het daar opnieuw. |
nee |
type not available |
Op de server ontbreekt iets voor dit doeltype. | nee |
removed |
Verwijderd; back-ups in de lijst verwijzen nog naar het doel. | nee |
Achter de toestand kunnen twee aanwijzingen staan. CATALOG CONFLICT is een vingerafdrukconflict: de catalogus op het doel behoort aan een andere installatie toe, de uitvoer noemt het adres daarvan. catalog stale betekent: de catalogus op het doel kon de laatste keer niet worden geschreven; de back-up is toch goed, en de volgende back-up schrijft de catalogus opnieuw.
Een doel aanmaken: add
# Een lokale map als doel aanmaken wp cloneworx-backup target add local --name="Archiv" --set-path=/var/backups # Het nieuwe doel testen wp cloneworx-backup target test local-1
| Opgave | Betekenis | Toegestane waarden |
|---|---|---|
| Doeltype | Staat direct achter add. |
local. De andere doeltypen vereisen een wachtwoord of een sleutel en zijn daarom hier niet aan te maken. google-drive en dropbox weigert het commando en het noemt de weg in de browser: pagina Doelen, Doel toevoegen. |
--name=<naam> |
Jouw naam voor het doel. Zonder de parameter geeft de plugin zijn voorstel. | Hoogstens 100 tekens. Elke naam werkt die nog niet in gebruik is, ook niet bij een verwijderd doel. |
--set-path=<map> |
De map op de server, in het formulier het veld Map op de server. Verplicht. | Een absoluut pad naar een map die al bestaat en waarin geschreven mag worden. Hij mag niet in de pluginmap staan, die WordPress bij elke update verwijdert. |
--force |
Slaat de controle van de gebruiker over. |
Het commando slaat het doel op en noemt zijn kenmerk. Getest is het daarmee nog niet: bruikbaar wordt een doel pas door een geslaagde verbindingstest. De eigen map van de plugin hoef je niet aan te maken; die ontstaat in de map die je noemt.
Met je eerste doel maakt de plugin het plan “Dagelijkse back-up” aan. Het is gepauzeerd tot je het inschakelt. Meer daarover: Back-upplannen beheren met WP-CLI.
Klopt een opgave niet, dan slaat het commando niets op. Het noemt het veld met een code en eindigt met Settings are not valid.
| Code | Betekenis |
|---|---|
required |
Een verplicht veld is leeg. |
base_invalid |
Het pad is niet absoluut, of de map bestaat niet. |
base_in_plugin |
De map staat in de pluginmap. |
base_not_writable |
In de map mag niet worden geschreven. |
taken, too_long
|
De naam is al in gebruik of langer dan 100 tekens. |
invalid, out_of_range
|
De waarde is niet toegestaan of ligt buiten zijn grenzen. |
Een doel wijzigen: edit
# Een doel hernoemen wp cloneworx-backup target edit local-1 --name="Archiv 2" # Een instelling wijzigen, dan opnieuw testen wp cloneworx-backup target edit sftp-1 --set-port=2222 wp cloneworx-backup target test sftp-1
edit heeft minstens --name of een instelling nodig. Een instelling zet je met --set-, gevolgd door de naam van de instelling en haar waarde, bijvoorbeeld --set-port=2222. Opgeslagen wachtwoorden en sleutels blijven daarbij bewaard. Na een gewijzigde instelling geldt het doel weer als niet getest: test het opnieuw, anders slaan plannen en back-ups het over. Een nieuwe naam verandert daar niets aan.
| Instelling | Veld in het formulier | Doeltypen | Toegestane waarden |
|---|---|---|---|
path |
Map op de server, Map op de FTP-server, Map op de SFTP-server, Map in de bucket, Map in Google Drive | local, ftp, sftp, amazon-s3, s3, google-drive | Bij local verplicht. Anders mag de waarde leeg zijn. |
host |
Server | ftp, sftp | Hostnaam of IP-adres |
user |
Gebruikersnaam | ftp, sftp, webdav | |
port |
Poort | ftp, sftp | 1 tot 65535. Leeg betekent bij ftp 21, bij impliciete FTPS 990, bij sftp 22. |
timeout |
Tijdslimiet voor de verbinding (seconden) | ftp, sftp, webdav, amazon-s3, s3, google-drive, dropbox | 3 tot 60, standaard 10 |
security |
Versleuteling | ftp |
explicit (FTPS met TLS), none (geen), implicit (FTPS, impliciet) |
mode |
Overdrachtsmodus | ftp |
passive, active
|
auth |
Aanmelding | sftp |
password, key
|
url |
Adres van de map | webdav | Het volledige adres |
method |
Uploadmethode | webdav |
range, chunks, whole. Leeg betekent: wat de verbindingstest heeft vastgesteld. |
upload_rate |
Uploadsnelheid (bytes per seconde) | webdav, amazon-s3, s3, google-drive, dropbox | 1024 tot 1073741824. Leeg betekent: wat de verbindingstest heeft gemeten. |
bucket |
Bucket | amazon-s3, s3 | |
access_key |
Toegangssleutel | amazon-s3, s3 | |
region |
Regio | amazon-s3, s3 | |
endpoint |
Adres van de dienst | s3 | Het adres zonder de bucket |
style |
Vorm van het adres | s3 |
path, virtual. Leeg betekent: wat de verbindingstest heeft vastgesteld. |
Wat geheim is, laat zich niet invoeren: password, private_key en secret_key. De instellingen tls_pin en host_key bevatten een geaccepteerd certificaat of de bevestigde sleutel van een server. Beide zet de pagina Doelen als je daar een certificaat of een serversleutel accepteert. Noem je een instelling die het doeltype niet kent, dan somt het commando de instellingen van het doeltype op.
De verbinding testen: test
# De verbinding van een doel testen wp cloneworx-backup target test sftp-1
De test schrijft een klein bestand naar het doel, leest het terug, vergelijkt het en verwijdert het weer. Het resultaat wordt bij het doel opgeslagen: na een geslaagde test is het doel bruikbaar.
De uitvoer noemt de details van de test als regels van naam en waarde, bijvoorbeeld de vrije ruimte in de regel free_space. De laatste regel zegt of het doel werkt (works) of met welke reden de test is mislukt (failed). Behoren nieuwe bestanden aan een andere gebruiker toe dan de map van het doel, dan waarschuwt het commando: de website kan zulke bestanden misschien niet wijzigen of verwijderen.
De back-ups op een doel controleren: check
# Elke back-up op dit doel controleren wp cloneworx-backup target check sftp-1 # De controle alleen starten; de website zet hem voort wp cloneworx-backup target check sftp-1 --background
De controle leest elke back-up die op dit doel staat, de nieuwste eerst: elk bestand, het infobestand, elk deel tegen zijn controlesom en elk blok. Hersteld wordt daarbij niets. Het resultaat staat daarna ook in de lijst met back-ups.
De uitvoer noemt per back-up een regel met het resultaat en aan het einde de som:
| Resultaat in de uitvoer | Betekenis |
|---|---|
ok |
De back-up is leesbaar en volledig. Erachter staan het aantal delen, het aantal items en de gelezen hoeveelheid. |
damaged or incomplete |
De back-up is op dit doel beschadigd of onvolledig. Erachter staat wat er niet klopt. |
not checked |
Het doel heeft niet geantwoord. Dat is een waarschuwing, geen schade aan de back-up. |
not complete at this target |
De back-up staat op dit doel niet volledig. |
Gecontroleerd wordt elke goede back-up die op het doel volledig staat of daar als beschadigd is gemarkeerd. Is er geen, dan start de controle niet en zegt dat.
Resten opruimen: cleanup
# Alleen tonen wat verwijderd zou worden wp cloneworx-backup target cleanup local-1 --dry-run # De resten verwijderen wp cloneworx-backup target cleanup local-1
Een rest is een map die een afgebroken taak op het doel heeft achtergelaten en die nooit een back-up wordt: hij heeft geen infobestand, hoort niet bij de lopende taak, en de lijst met back-ups vermeldt hem op dit doel niet. Ook een onvoltooide upload telt als rest. Dezelfde run verwijdert oude bestanden uit de werkmap van de plugin op de server. Een map met infobestand blijft altijd staan, en wat in de lijst staat, raakt het opruimen nooit aan.
| Parameter | Betekenis |
|---|---|
--dry-run |
Toont per map het aantal bestanden en de grootte en verwijdert niets. Er loopt geen taak. |
--background |
Start de taak; de website voert hem verder uit. |
--force |
Slaat de controle van de gebruiker over. |
De uitvoer noemt per doel het aantal verwijderde mappen en bestanden en hun grootte, daarnaast het aantal back-upmappen dat blijft staan hoewel de lijst ze niet kent. Zulke back-ups haal je met rebuild in de lijst. Het opruimen loopt ook vanzelf na elke goede back-up, op de doelen waarop die back-up is aangekomen.
Een vingerafdrukconflict beantwoorden: moved en copy
Voordat de plugin naar een doel schrijft, vergelijkt hij de vingerafdruk in de catalogus op het doel met de eigen vingerafdruk. Passen beide niet bij elkaar, dan schrijft en verwijdert hij daar niets tot jij beslist. Welk antwoord wanneer juist is, legt De website is verhuisd of is een kopie uit.
# Dezelfde website, nieuw adres of nieuw pad: verhuisd wp cloneworx-backup target moved sftp-1 # Deze installatie is een kopie van het origineel wp cloneworx-backup target copy sftp-1 --yes
| Actie | Wat er gebeurt |
|---|---|
moved |
De catalogus op het doel wordt opnieuw geschreven met de vingerafdruk van deze installatie, het genoteerde conflict is afgehandeld, en het doel wordt weer gebruikt. De uitvoer noemt het adres dat de catalogus eerder droeg. Gebruik moved nooit voor een kopie. |
copy --yes |
Deze installatie krijgt een nieuwe mapcode en daarmee een eigen map op elk doel. De logboekmap en de werkmap verhuizen mee. De back-ups in de lijst van deze installatie behoren aan het origineel toe en verdwijnen uit de lijst; op de doelen wordt niets verwijderd. Alle genoteerde conflicten zijn afgehandeld. De volgende back-up schrijft in de nieuwe map. |
copy geldt voor de hele installatie, niet alleen voor het genoemde doel. Zonder --yes wijzigt het commando niets: het noemt de gevolgen en het aantal vermeldingen dat uit de lijst zou verdwijnen.
Back-ups terugvinden: sites, adopt en rebuild
Elke installatie van de plugin heeft een eigen mapcode, en haar back-ups staan op elk doel in de map cloneworx-backup-<code>. Na een totaal verlies kent de verse installatie de map van de vorige niet. De hele weg beschrijft Back-ups terugvinden na totaal verlies.
# Tonen wat er op de locatie van het doel staat wp cloneworx-backup target sites sftp-1 # De map van een eerdere installatie overnemen wp cloneworx-backup target adopt sftp-1 --folder=cloneworx-backup-0123456789abcdef0123456789abcdef # Back-ups uit de eigen map aan de lijst toevoegen wp cloneworx-backup target rebuild sftp-1
sites
De uitvoer begint met de eigen map: of de catalogus ervan leesbaar is, hoeveel back-ups de catalogus noemt, hoeveel back-ups de lijst op dit doel vermeldt en hoeveel back-ups van de map in de lijst ontbreken. Daaronder volgen de mappen van andere installaties, per map met het adres van de website uit de catalogus ervan, het aantal back-ups, de datum van de laatste en de versie van de plugin. De laatste regel zegt of overnemen op dit moment mogelijk is.
adopt
| Parameter | Betekenis | Toegestane waarden |
|---|---|---|
--folder=<naam> |
De map van de vorige installatie op het doel. Verplicht. | De naam van de map, cloneworx-backup- en 32 tekens, of de 32 tekens alleen. |
--background |
Start het opnemen in de lijst; de website voert het verder uit. | |
--force |
Slaat de controle van de gebruiker over. |
Deze installatie werkt daarna verder met de mapcode van de vorige. De logboekmap en de werkmap verhuizen mee, lege mappen met de vorige code worden op lokale doelen verwijderd, en de back-ups uit de map komen in de lijst. Overnemen bevestigt tegelijk dat de website is verhuisd.
Alleen voor je eigen website, alleen op een verse installatie
Neem alleen de map van je eigen website over. Zolang de lijst van deze installatie back-ups bevat of er een taak loopt, weigert het commando het overnemen. Na het overnemen komen de volgende back-ups in de overgenomen map terecht.
rebuild
rebuild neemt back-ups uit de eigen map op het doel op in de lijst die daar ontbreken, bijvoorbeeld nadat een doel is verwijderd en opnieuw ingesteld. De taak leest de catalogus op het doel, zonder leesbare catalogus de lijst met mappen. Bij elke back-up haalt hij het infobestand op en controleert of elk bestand in zijn grootte op het doel staat. Met --background voert de website de taak verder uit.
De laatste regel noemt het resultaat: hoeveel back-ups zijn gevonden, hoeveel nieuw in de lijst zijn gekomen, hoeveel er al in stonden en hoeveel onvolledig zijn. Teruggevonden back-ups verwijdert de plugin nooit automatisch.
Een doel verwijderen: remove
# Het doel verwijderen; zijn back-ups blijven staan wp cloneworx-backup target remove local-1 # Eerst alle back-ups op het doel verwijderen, dan het doel verwijderen wp cloneworx-backup target remove local-1 --with-backups
Het commando vraagt niet om bevestiging
Anders dan de pagina Doelen toont remove geen bevestigingsvraag. Met --with-backups zijn de back-ups op dit doel daarna verwijderd.
| Parameter | Betekenis |
|---|---|
| zonder parameter | Het doel wordt verwijderd. De back-ups blijven op het doel waar ze zijn. |
--with-backups |
De plugin verwijdert eerst elke back-up op dit doel en verwijdert dan het doel. Het commando voert de taak zelf tot het einde uit. Staan er vergrendelde back-ups op het doel, dan weigert het: ontgrendel ze eerst, of verwijder het doel zonder zijn back-ups. |
--force |
Slaat de controle van de gebruiker over. |
- Verwijzen back-ups in de lijst nog naar het doel, dan blijft zijn vermelding als verwijderd staan, zonder instellingen en zonder inloggegevens. De uitvoer noemt het aantal vermeldingen dat er nog naar verwijst.
- Verwijst geen back-up er meer naar, dan wist het commando de vermelding helemaal. Dat geldt ook voor een doel dat al is verwijderd.
- Een verwijderd doel verlaat elk back-upplan. Een plan zonder doel wordt gepauzeerd. Inschakelen kan pas weer als je het een doel geeft.
- Bij een doel van het type Dropbox trekt de plugin na het verwijderen de toegang bij Dropbox in die het doel had. De back-ups blijven in jouw Dropbox. Het intrekken blijft uit als de opgeslagen inloggegevens niet meer leesbaar zijn, als het doel al was verwijderd of als cURL ontbreekt. Het mislukt als Dropbox of de aanmeldservice op dat moment niet bereikbaar is. Het doel wordt toch verwijderd. De toegang blijft dan bij Dropbox geldig tot je de app in je Dropbox-account loskoppelt.
- Bij een doel van het type Google Drive trekt de plugin niets in: de toegang die het doel had, blijft bij Google geldig, en de toestemming blijft in je Google-account tot je die daar verwijdert.