# WP-CLI: ütemezés, felhő, kapcsolatok

> A wp lw-migration schedule, destination, upload, cloud, link, push, pull és reset parancsai, példákkal.

A titkok (jelszó, kulcs, párosító kód) soha nem kapcsolóként mennek: terminálon rejtetten kéri őket a parancs, szkriptben a bemenetről olvassa. Így nem kerülnek a shell előzményeibe.

## schedule

```text title="Kimenet"
$ wp lw-migration schedule list
id	title	enabled	frequency	next	last
f0e94f28	Napi mentés	no	daily
```

- `schedule run <id>`: azonnal futtatja, a kikapcsoltat is, e-mail nélkül.
- `schedule run --due`: minden esedékest futtat, e-mailekkel. Ezt tedd szerver-cronba, 5 percenként.
- `schedule log <id>`: a futási napló, a legújabb elöl.

```bash title="Szerver-cron"
wp lw-migration schedule run --due --path=/path/to/wordpress --quiet
```

A `schedule run` kilépési kódja **1**, ha egy futás hibás vagy nem folytatható, és **2**, ha egy másik mentés vagy visszaállítás miatt vár.

## destination, upload, cloud

| Parancs | Mit csinál |
|---|---|
| `destination list` | A célhelyek: `id, name, type, where, status, last_upload`. |
| `destination add <típus> --name=<név> …` | Típus: `s3`, `webdav`, `ftp`, `sftp`, `gdrive`, `dropbox`, `onedrive`. |
| `destination connect <id> --user=<admin>` | Egyszer használható, 10 percig érvényes link a böngészős összekapcsoláshoz. |
| `destination test <id>` | Kapcsolat-ellenőrzés. SFTP-nél `--trust-host-key=<SHA256:…>`, FTPS-nél `--trust-certificate=<SHA-256>`. |
| `destination remove <id>` | Célhely törlése; a célhelyen lévő mentések maradnak. |
| `upload <mentés> --to=<id-k>` | Meglévő mentés feltöltése. 1-es kód, ha nem minden feltöltés sikerült. |
| `cloud list <id>` | A célhelyen lévő mentések. |
| `cloud restore <id> <fájl>` | Visszaállítás a célhelyről (`--yes`, `--[no-]safety-backup`, jelszó). |
| `cloud delete <id> <fájl>` | Mentés törlése a célhelyről. |

S3-nál a fő kapcsolók: `--preset=<aws|b2|wasabi|r2|digitalocean|hetzner|scaleway|custom>`, `--region`, `--endpoint`, `--bucket`, `--prefix`, `--access-key`. Mivel a `--user` és a `--url` a WP-CLI saját kapcsolója, itt `--username` és `--address` a neve.

```bash title="Példák"
wp lw-migration destination add gdrive --name=Drive
printf '%s\n' "$SECRET" | wp lw-migration destination add s3 --name=Tarhely --preset=custom --endpoint=https://s3.pelda.hu --bucket=mentesek --access-key=xxxx
```

## link, push, pull

| Parancs | Mit csinál |
|---|---|
| `link create-code --user=<admin> [--allow=pull,push]` | Párosító kód ezen az oldalon (alapból `pull`). A kód csak most látszik. |
| `link add --user=<admin>` | A kód beírása a másik oldalon; kód nélkül rejtetten kéri. |
| `link list` | Kapcsolatok: `id, direction, site, allow, state, http, paired, last_used`. |
| `link remove <id>` | Kapcsolat törlése. |
| `push <link-id>` | Ezt az oldalt küldi a másikra. Kizárások, mint az `export`-nál. |
| `pull <link-id>` | A másik oldalt hozza át ide. |

```bash title="Példák"
wp lw-migration link create-code --user=admin --allow=pull,push
printf '%s\n' "$PAIRING_CODE" | wp lw-migration link add --user=admin
wp lw-migration push 0123456789abcdef --exclude-cache --yes
wp lw-migration pull 0123456789abcdef --yes --user=admin
```

## reset

`wp lw-migration reset <plugins|themes|media|database|full>`. A `--user=<admin>` kötelező, `--[no-]backup` (alapból előtte mentés), `--yes`. A jelszót terminálon vagy a bemenetről kéri, kapcsolóként soha. Rootként a fájlokat érintő alaphelyzetek nem futnak. Megszakítás után ugyanazzal a paranccsal folytatható.

```bash title="Terminál"
printf '%s\n' "$PASSWORD" | wp lw-migration reset media --yes --user=admin
```
