A parancs előtt írja ki az URL-t, az elérési utat és a környezetet, használjon explicit hatókört, és először előnézeti vagy csak olvasó változatot futtasson. Írási művelet előtt készítsen ellenőrzött biztonsági mentést és naplót, a nagy változtatásokat kötegelje, és tervezze meg őket megismételhetőként. A WP-CLI-t ne futtassa szükségtelenül magas jogosultságú rendszerfiók alatt. Az automatikus futtatást védje zárolással, időkorláttal, nem nulla hibakóddal és a hiányzó eredményre figyelmeztető értesítéssel. A search-replace műveletet olyan eszközzel végezze, amely biztonságosan megőrzi a szerializált értékeket, és először támogatja a dry-run futtatást.
A WP-CLI lehetővé teszi a WordPress kezelését az adminisztrációs felületen való kattintgatás nélkül. Ki tudja listázni a pluginokat, futtatni tudja a cront, dolgozhat az adatbázissal, módosíthat tartalmat, és saját parancsokat is végrehajthat. Ugyanez az erő azonban azt is jelenti, hogy egy pontatlan szűrő vagy rossz környezetben kiadott parancs rekordok ezreit módosíthatja, mielőtt valaki észrevenné a hibát.
A biztonságos használat alapja a cél ellenőrzése, az előnézet, a biztonsági mentés, az idempotencia és az eredmény rögzítése. Ez az útmutató nem korlátozódik a parancsok listájára. Bemutatja az üzemeltetési eljárást a kézi beavatkozásokhoz és az automatizáláshoz, a hitelesítő adatok védelmét, a több webhellyel végzett munkát, valamint egy olyan saját parancs megtervezését, amely kiszámíthatatlan hatás nélkül megismételhető.
Ellenőrizze a binárist, az elérési utat és a célkörnyezetet
Derítse ki a WP-CLI és a használt PHP eredetét és verzióját. Minden beavatkozás előtt írassa ki a telepítés elérési útját, a home URL értékét és adott esetben a multisite kontextust. Az alias segít, de a neve nem bizonyíték; az automatizálásnak explicit elérési úttal kell rendelkeznie, és ellenőriznie kell a várt domaint vagy a környezet jelölését.
A shellfióknak csak a szükséges fájl- és adatbázis-jogosultságokkal szabad rendelkeznie. Ok nélkül ne futtasson WordPress-parancsokat a rendszer globális adminisztrátoraként, mert a létrehozott fájlok helytelen tulajdonost kaphatnak. Válassza szét az éles és a staging hitelesítő adatokat, és ne írjon jelszavakat közvetlenül a parancselőzményekbe.
Kezdje olvasással, és készítsen biztonságos előnézetet
Tömeges módosítás előtt számolja meg a célelemeket, és listázzon ki belőlük egy reprezentatív mintát. A típus, állapot és pontos meta kulcs szerinti szűrés biztonságosabb, mint egy korlátlan ID-lista. Ha a parancsnak nincs dry-run módja, hozzon létre saját módot, amely ugyanazt a kiválasztást és validációt végzi el, de csak megjeleníti a tervezett eredményt.
A kimenetet géppel olvasható formátumban mentse, ha egy szkript épül rá. Ne vegyen át olyan szöveges táblázatot, amelynek oszlopai verziónként változhatnak. Minden automatikus lépés ellenőrzi a visszatérési kódot és a rekordok várt számát is; az üres eredmény nem feltétlenül siker, ha ezer tételre számított.
- Megerősített útvonal és domain
- A célrekordok pontos szűrése
- Dry-run vagy csak olvasható előnézet
- Várt darabszámok és visszatérési kódok
Kötegelje az írásokat, és készítse elő a visszaállást
Visszafordíthatatlan adatbázis-módosítás előtt készítsen biztonsági mentést, és ellenőrizze, hogy olvasható-e. A nagy műveleteket ossza kurzorral kezelt kötegekre, hogy ne merítsék ki a memóriát, és kiesés után folytathatók legyenek. Minden köteg után mentse el a sikeres és az elutasított tételek számát, valamint az utolsó stabil azonosítót.
A search-replace műveletet dry-run módban és megfelelő szerializációval tesztelje; az SQL-ben végzett egyszerű szöveges csere károsíthatja a tárolt struktúrákat. Törléskor ellenőrzött azonosítók explicit listáját és megőrzési szabályt használjon. A rollback nem feltétlenül a teljes adatbázis visszaállítását jelenti; jól megtervezett migrációnál megőrizhető az eredeti érték, és egy konkrét köteg visszaállítható.
Az egyedi parancsokat nyilvános interfészként tervezze meg
A parancsnak legyenek dokumentált argumentumai, alapértelmezett értékei, példái és hibaállapotai. A validálást az első írás előtt végzi el, és támogatja a dry-run módot. Azonos bemenettel ismételten futtatva ugyanazt az eredményt adja, vagy biztonságosan jelzi, hogy a munka már lefutott. Az interaktív kérdések nem blokkolhatják az automatizált módot.
Az üzleti logikát egy tesztelhető bővítményszolgáltatásban tartsa, a CLI pedig csak adapterként szolgáljon. Így ugyanazt a funkciót biztonságosan használhatja a várólista vagy az adminisztrációs felület is. A folyamatos kimenet nem tartalmaz jelszavakat, tokeneket vagy teljes személyes rekordokat. Részleges hiba esetén a parancs nem nulla kilépési kóddal fejeződik be, és megadja a folytatás biztonságos módját.
Zárja le és monitorozza az automatizációt
Az ütemezett parancsot biztonságos lejáratú zárolással védje a párhuzamos futtatás ellen. Állítson be timeoutot, kötegméret-korlátot és külön, rotált naplót. Értesítés érkezzen hiba, szokatlanul hosszú futás és elmaradt futás esetén is. A sikeres jelentés számokat tartalmazzon, ne csupán a „kész” szót.
A WordPress, a PHP vagy egy függő bővítmény frissítése után futtassa le a parancs integrációs tesztjét staging környezetben. A runbook elmagyarázza a manuális előnézetet, a kurzor visszaállítását és a beragadt zárolás eltávolítását. Minden automatikus parancsnak legyen tulajdonosa és felülvizsgálati dátuma; egy elfelejtett, régi szintaxisú cron üzemeltetési kockázatot jelent.
Gyakori kérdések
Biztonságos-e a WP-CLI használata éles környezetben?
Igen, ha ellenőrzi a célt, és minimális rendszerjogosultságokat, pontos hatókört, előnézetet, biztonsági mentést és monitorozást alkalmaz. A kockázat főként akkor keletkezik, ha egy korlátlan parancsot nem lehet visszavonni.
Hogyan végezzünk dry-runt egy olyan parancsnál, amely nem támogatja?
Először hajtsa végre ugyanazt a kiválasztást olvasó paranccsal, és mentse el az explicit azonosítókat. Saját megoldásnál adjon hozzá egy kapcsolót, amely validál és írás nélkül kiírja a tervet. Ne másolja vakon az éles parancsot.
Helyettesítheti a WP-CLI a feladatütemezőt?
A WP-CLI lehet a rendszerütemező által indított végrehajtó mechanizmus, de továbbra is szükség van időzítésre, zárolásra, időkorlátra, naplóra és a kimaradt futásra figyelmeztető riasztásra. A parancs önmagában nem helyettesíti a monitorozást.