Winkelbeheer & operations
Back-ups en herstel
Bescherm database, encryptiesleutel, winkelbestanden en pakketstatus en oefen een volledig herstel.
Op deze pagina
Bewaar meer dan de database
Een herstelbare winkel vereist een consistente combinatie van gegevens, bestanden en geheimen. Bewaar versleutelde kopieën buiten de server en test de toegang met iemand anders dan de oorspronkelijke installateur. Bepaal hoeveel recente bestelgegevens verloren mogen gaan en hoe lang herstel mag duren. Die eisen bepalen frequentie en bewaartermijn.
Neem alles hieronder mee:
- De primaire MariaDB/MySQL-database en een eventueel apart geconfigureerde compensatiejournaaldatabase.
.env, vooral de oorspronkelijkeAPP_KEY, via een beschermde procedure voor back-ups van geheimen.storage/app/privatevoor private bestanden en lokale back-upartefacten.storage/app/publicvoor winkelmedia.storage/app/agovena/installed.json, dat moet overeenkomen met de installatie-identiteit in de database.storage/app/packagesen andere ingestelde pakketlocaties, plus de exacte Core-release, thema's en dependency-lockbestanden.- Deploymentconfiguratie, service-units, cronconfiguratie en externe opslag die je winkel daadwerkelijk gebruikt.
Alle blijvende gegevens onder storage/app meenemen is veiliger dan alleen uploads selecteren. Voorkom dat oude back-uparchieven zonder bewaarbeleid steeds opnieuw in nieuwe archieven terechtkomen. Zie bestandssysteemconfiguratie en installatievergrendeling.
Maak een versleutelde databaseback-up
Core biedt Admin → Back-ups en deze opdracht:
php artisan agovena:backup
De opdracht bewaart de geconfigureerde hoofddatabase, comprimeert en versleutelt de inhoud en verwijdert verlopen artefacten. Ze archiveert geen uploads, .env, pakketten of tweede databaseverbinding. Het standaarddoel is de map backups op de local-disk, normaal storage/app/private/backups.
MariaDB/MySQL-back-ups gebruiken de ingestelde dumpclient met --single-transaction, routines en triggers. Zorg dat een compatibele client bereikbaar is voor de FPM/CLI-gebruiker. AGOVENA_MYSQLDUMP_BINARY is standaard mysqldump; AGOVENA_MYSQL_BINARY is standaard mysql voor herstel. Gebruikt je host anders genoemde MariaDB-clients, stel die uitvoerbare paden dan expliciet in. Het databaseaccount heeft ook de voor de dump benodigde rechten nodig.
De implementatie staat in BackupManager. Een single-transactiondump is geen snapshot van alle services. Vermijd gelijktijdige schemawijzigingen.
Stel planning en bewaarbeleid in
Kies onder Admin → Back-ups voor uitgeschakeld, ieder uur, iedere zes uur, iedere twaalf uur, dagelijks of wekelijks. Een interval opslaan start cron niet. De scheduler moet draaien en een recente heartbeat tonen.
Standaard geldt een dagelijkse planning, een bewaartermijn van 30 dagen en 10 bewaarde artefacten. Controleer AGOVENA_BACKUP_DISK, AGOVENA_BACKUP_DIRECTORY, AGOVENA_BACKUP_INTERVAL, AGOVENA_BACKUP_RETENTION_DAYS en AGOVENA_BACKUP_RETENTION_COUNT. Stel voor foutmeldingen van het commando AGOVENA_BACKUP_ALERT_EMAIL en een werkend e-mailtransport in. Een melding vanaf dezelfde defecte server is geen onafhankelijke bewaking.
Bronnen: back-upconfiguratie en BackupSchedule.
Controleer een artefact met zijn echte naam
Het back-upcommando meldt het relatieve artefactpad. Geef exact die waarde als path-argument door aan php artisan agovena:backup-verify. Hernoem een artefact niet om het databasetype te veranderen.
Deze controle verifieert ontsleuteling, herkenning van de inhoud en waar van toepassing SQLite-integriteit. Herkenning van een MySQL/MariaDB-SQL-dump is geen volledige database-import of oefening in applicatieherstel. Zie BackupRestoreVerifier. Zonder de encryptiesleutel kan een verder intacte back-up onleesbaar zijn.
Oefen herstel op een geïsoleerde host
- Beperk netwerktoegang en schakel echte betalingen, provisioning en klantmail uit. Laat herstelde queuetaken niet tegen echte accounts draaien.
- Herstel de bijpassende applicatierevisie,
.env/sleutel, pakketbestanden en blijvende opslag uit hetzelfde herstelpunt. Gebruik een aparte doeldatabase en nooit per ongeluk de live winkel. - Herstel de database met je beschermde databaseback-uptools. In een werkende, geïsoleerde Admin-installatie kan Back-ups → Herstellen een herkend versleuteld artefact naar de geconfigureerde database terugzetten. Hiervoor zijn beheerrechten en een recente wachtwoordbevestiging nodig. De actie vervangt gegevens, herstelt geen applicatiebestanden en biedt geen universeel CLI-herstelcommando.
- Herstel ook een apart journaal of andere database en stem die af op hetzelfde herstelpunt.
- Voer
php artisan storage:linkenphp artisan agovena:doctoruit. Onderzoek een afwijkende installatiemarkering in plaats van de installer opnieuw te starten. - Controleer klanttoegang, bestaande bestellingen en facturen, versleutelde instellingen, private downloads, publieke media en beschikbare pakketten. Test achtergrondwerk alleen met geïsoleerde endpoints.
De herstelactie in Admin maakt een live herstel niet veilig zolang andere processen schrijven. Stop of isoleer bij een echt incident eerst schrijvende processen en behoud de fouttoestand voor onderzoek. Stem betalingen en leveringen van na het herstelpunt af voordat je heropent. Een oude database maakt een bestaande betaling of externe server niet ongedaan.