Automatische backup

Uit phpBB.nl Wiki
Ga naar: navigatie, zoeken

Voor phpBB2 en phpBB3: SQL-backup maken

Als je een forum hebt, dat lekker druk bezocht wordt, wil je natuurlijk niet het risico lopen, dat je alle berichten kwijtraakt, als je gehackt wordt, er brand uitbreekt bij de hostingprovider, of andere enge dingen, waar we liever niet aan denken. Je wilt dus eigenlijk iedere dag een backup hebben op een plaats, waar je er zelf controle over hebt, buiten het forum en onafhankelijk van je hostingprovider. Maar ja, de discipline om iedere dag eraan te denken om een backup te maken is natuurlijk niet altijd aanwezig. Bovendien is het waarschijnlijk niet je favoriete bezigheid. Dit artikel geeft een methode om dat backuppen volledig automatisch te laten verlopen.

phpBB2 Integratie

Indien je een automatische backup voor je phpBB2 forum wil, kan je Automatic Database backup gebruiken. Voor alle andere toepassingen gebruik je de methode zoals hieronder beschreven.

Stap 1: De opslaglocatie

Hier zorgen we voor een plaats, waar je de backups opslaat. Idealiter zou het waarschijnlijk je eigen PC zijn, maar dat is niet handig. Want waar laat je dan de backups, terwijl je op vakantie bent? Het is veel handiger om een Gmail-account aan te maken, speciaal voor de backups. Gmail biedt ongelooflijk veel opslagruimte, voor de meeste forums genoeg om meer dan 100 backups op te slaan. En als je er een apart account voor aanmaakt, kunnen eventuele medebeheerders er ook bij, als jij lekker op een handdoek aan een ver strand ligt. Bovendien krijg je een overzichtelijke lijst met backups, zonder dat er andere mailtjes tussenin staan.

Stap 2: Het backupscript

Kopieer dit script: http://www.phpbb.nl/forums/viewtopic.php?p=344705#p344705 en noem het bestand sqlbackup.php.

In het begin van dit script zie je een kopje // CHANGE THE FOLLOWING SETTINGS TO YOUR NEEDS: met daaronder drie kopjes voor de database, email, en overige. Vul deze gegevens in zoals ze voor jou van toepassing zijn. Sla het bestand vervolgens op en upload het naar je webserver, bijvoorbeeld naar de map http://www.example.com/sqlbackup/ Nu moet je de map: "sqlbackup" en het script: "sqlbackup.php" chmod naar 777.

Stap 3: Script testen

Om zeker te weten, dat het script goed werkt, roepen we het op. Ga in je browser naar de locatie van je backupscript, maar voeg aan het einde nog ?exec=1 toe. Dit is een bescherming tegen hackers en robots. Je moet dus invoeren: http://www.example.com/sqlbackup/sqlbackup.php?exec=1 Je browser zal een paar seconden blijven laden; dit is nodig om de backup te laten uitvoeren. Hoe lang het duurt, is afhankelijk van de grootte van je database en de snelheid van je hostingprovider. Surf vervolgens naar je Gmail en kijk, of je backup is aangekomen. Is dit niet het geval, dan is er iets mis en moet je nog eens goed kijken, of je de vorige stappen en het script wel juist hebt uitgevoerd.

Stap 4: Automatiseren

Een goede automatiseerder is lui en wil niet steeds alles handmatig doen. Daarom gaan we er in deze stap voor zorgen, dat de backup iedere nacht automatisch wordt uitgevoerd, terwijl jij lekker schaapjes ligt te tellen. Beschik je zelf over de mogelijkheid van cronjobs via je webhost? Sla het bestand op in een map die NIET publiek bereikbaar is (dus niet in public_html). Ga dan naar het controlepaneel van je website en navigeer naar de cronjob-instellingen. Voer daar in:

/usr/bin/php /home/JOUWINLOGNAAMVANJEHOST/MAP/sqlbackup.php?exec=1

Het eerste gedeelte (/usr/bin/php) is om de cron manager te vertellen dat het een PHP-script moet verwerken. Het tweede deel geeft de locatie aan waar het script te vinden is. Dit moet je noteren vanaf de hoogste directory die je via je FTP kunt bereiken, dus NIET vanaf je domeinnaam! Geef vervolgens nog de tijden en dagen in dat het script uitgevoerd moet worden, en klaar is Kees!


Heb je geen cronjob-mogelijkheid via je host? Surf dan naar Webcron of Cronme en maak daar een account aan (klik op lid worden, volg instructies). Maak vervolgens een nieuwe taak aan (klik op mijn taken, klik op nieuwe taak). Vul daar de url in, zoals in stap 3 is aangegeven (denk aan ?exec=1). Login en wachtwoord zijn niet nodig. Geef ook nog de gewenste dagen/tijden aan, waarop het moet gebeuren (aanbevolen om dat tussen 2 en 4 uur 's nachts te doen; dat voorkomt hinder voor bezoekers van je forum), en klaar is Kees!