Geplande back-ups starten alleen als iets je website aanstoot. Een systeemcron doet dat elke vijf minuten, ook als niemand de website bezoekt. Zo stel je hem in en controleer je of hij loopt.
Wat een taakbron is
Een taakbron stoot de plugin aan: hij start de volgende stap van een lopende taak en laat de plugin controleren of een back-upplan aan de beurt is. Of een plan aan de beurt is, controleert de plugin bij deze taakbronnen:
- WP-Cron, het schema van WordPress: met de eigen taak van de plugin elke 15 minuten en met een wekgebeurtenis die op de volgende run ligt,
- de geopende pagina Overzicht of Back-up, elke 60 seconden,
- het einde van elke taak,
- de opdrachtregel, en daarmee een systeemcron.
Een taak die al loopt, wordt bovendien voortgezet door de zelfaanroep: aan het einde van elke stap roept de website zichzelf aan.
WP-Cron draait alleen als iemand de website bezoekt. Komt er binnen een uur na het tijdstip een taakbron, dan loopt het plan. Daarna geldt de run als gemist: er start niets, en het plan schuift door naar zijn volgende reguliere tijdstip. Zonder bezoekers en zonder systeemcron rond de tijdstippen ontstaan er daarom geen back-ups.
Dit heb je nodig
- Toegang tot de cronjobs van je server: via het beheer van je hoster of via SSH,
- WP-CLI op de server: WP-CLI installeren. Zonder WP-CLI vervalt de tweede regel uit stap 3.
Stap 1: de tegel Planner lezen
Open de pagina Instellingen, schakel over op de weergave Uitgebreid en klik op de titelregel van de tegel Planner.
- WP-Cron toont hoe het schema van WordPress is ingesteld: actief, alternatieve modus (ALTERNATE_WP_CRON) of uitgeschakeld, dan met een gele stip.
- Plugintaak (elke 15 minuten) noemt wanneer de eigen taak van de plugin in WP-Cron het laatst liep.
- Laatste tik noemt de laatste automatische taakbron, met zijn soort tussen haakjes. Ligt die bij een actief plan meer dan twee uur terug, dan is de stip geel.
- Zelfaanroep toont of de website zichzelf kan aanroepen. Zo zet ze een taak zonder bezoekers voort. Bij rood staat erachter de reden.
- Wekgebeurtenis noemt het tijdstip waarop WP-Cron de plugin voor de volgende run wekt.
- Volgende run noemt het volgende tijdstip en zijn plan.
- Gemiste runs noemt per plan hoeveel runs zijn gemist en wanneer voor het laatst.
- Taakbronnen controleren start een korte proefrun.
- Kopiëren kopieert de eerste van de twee regels voor de systeemcron.
Stap 2: de taakbronnen controleren
Klik op Taakbronnen controleren. De plugin start een korte proefrun, die de pagina alleen observeert. Zo blijkt welke taakbron hem oppakt.
- De melding Proefrun beëindigd; opgepakt door: …. noemt de taakbronnen, in de regel de zelfaanroep.
Pakt een minuut lang geen taakbron de proefrun op, dan zegt de tegel dat in het rood: zelfaanroep en WP-Cron werken hier niet, je hebt een systeemcron nodig. Proefrun afbreken beëindigt de proefrun.
Stap 3: de regel kopiëren
Onderaan de tegel staan twee regels, kant-en-klaar met het pad naar je WordPress en het adres van je website. Zo zien ze eruit:
*/5 * * * * cd /pfad/zu/wordpress && wp cloneworx-backup scheduler tick --quiet */5 * * * * curl -s -o /dev/null 'https://example.com/wp-cron.php?doing_wp_cron'
- De eerste regel roept elke vijf minuten WP-CLI aan. Dat is de aanbevolen weg: een back-up die aan de beurt is, loopt in deze aanroep tot het einde.
- De tweede regel roept elke vijf minuten WP-Cron aan via het adres van de website. De plugintaak en de wekgebeurtenis lopen dan ook zonder bezoekers. Deze regel komt zonder WP-CLI uit.
Kopiëren kopieert de eerste regel. De pagina meldt Gekopieerd naar het klembord. De tweede regel selecteer en kopieer je handmatig.
Stap 4: de regel bij de hoster invoeren
Voer de regel in als cronjob. Daarvoor zijn er twee wegen:
-
In het beheer van je hoster, in het gedeelte voor cronjobs. Vraagt het beheer schema en opdracht apart, dan is
*/5 * * * *het schema (elke vijf minuten) en de rest van de regel de opdracht. -
Via SSH op de server:
crontab -eopent de cronjobs van de aangemelde gebruiker. Voeg de regel in en sla op.
De eerste regel hoort in de cronjobs van de gebruiker die eigenaar is van de mappen van de plugin. Als andere gebruiker breekt de opdracht af en start niets.
Stap 5: controleren of de systeemcron loopt
Wacht vijf minuten, bij de tweede regel een kwartier, en open de pagina Instellingen. In de hoofdtegel staat achter Laatste run van de planner een tijdstip uit de laatste minuten, tussen haakjes de soort taakbron, bijvoorbeeld WP-CLI bij de eerste regel en WP-Cron bij de tweede.
Loopt de systeemcron, dan is de hoofdtegel groen en meldt Alles is gereed. De tegel is geel als een plan actief is en er al meer dan twee uur geen automatische taakbron is geweest. Is er nog nooit een geweest, dan tellen de twee uur vanaf de laatste wijziging aan het actieve plan. De geopende pagina van de plugin telt niet als automatische taakbron.
- Het resultaat noemt sinds wanneer er geen automatische taakbron is geweest.
- De regel noemt de laatste run van de planner met zijn soort en of het logboek schrijfbaar is.
Als iets niet lukt
| Wat er gebeurt | Wat je kunt doen |
|---|---|
| Laatste tik blijft oud. | Controleer of de cronjob is opgeslagen en ingeschakeld, en voer de opdracht uit de regel handmatig uit. Vindt de cronjob wp niet, schrijf dan het hele pad, bijvoorbeeld /usr/local/bin/wp. |
De opdracht breekt af. In zijn melding staat This command runs as user. |
De cronjob loopt als de verkeerde gebruiker. De melding noemt de juiste: voer de cronjob bij die gebruiker in. |
| Gemiste runs blijft geel. | De regel telt ook wat eerder is gemist. Het tijdstip achter “laatst” geldt: ligt dat vóór het instellen van de systeemcron, dan is er niets te doen. |
Goed om te weten
Een gemiste run toont ook de pagina Back-up, tot het plan weer is uitgevoerd: in de weergave Uitgebreid in de regel van het plan, als Gemiste run: … In het algemene logboek staat daarover een waarschuwing. Handmatig start je een plan op elk moment.
Zie ook
- Back-ups automatisch inplannen
- Meteen een back-up maken
- E-mailmeldingen instellen
- De pagina “Instellingen”
- Planning en systeem-cron met WP-CLI
Op de opdrachtregel
WP-CLI nog niet ingericht? Zo installeer je WP-CLI.
De systeemcron roept dezelfde opdracht aan die je ook handmatig uitvoert. De cronjob maakt de plugin niet zelf aan.
# Plannen, volgende runs en de laatste tik tonen wp cloneworx-backup scheduler status # Een tik handmatig uitvoeren wp cloneworx-backup scheduler tick # De status van de website en de planners tonen wp cloneworx-backup status