Backup and Migration-module

Uit DeVliegendeWiki

Ga naar: navigatie, zoeken

Regelmatig zal het nodig zijn om een Drupal-installatie te migreren. Bijvoorbeeld van ontwikkel- naar productieomgeving. Daarvoor heb je onder andere een backup nodig van de betreffende MySQL-database. Het ligt voor de hand om phpMyAdmin te gebruiken om zo'n backup te maken. Hierbij doet zich een probleem voor: Voor uploaden van bestanden heeft PHP vaak een limiet van 2 MB, terwijl zo'n backup makkelijk groter is. Met andere woorden: De database is nog wel te downloaden vanaf de bronlocatie, maar niet te uploaden naar de doellocatie. Een mogelijke oplossing is om met een editor het backupbestand bij te werken en het vervolgens in delen te uploaden en te importeren. Dat is omslachtig en foutgevoelig. Er is nog een bijkomstig probleem: Het geproduceerde SQL-backup-bestand moet met de juiste instellingen gegenereerd worden, (bv. wel of niet een nieuwe database aanmaken op doellocatie) af anders moet naderhand de code uit dit bestand handmatig aangepast worden.

De Backup and Migrate Module maakt migratie een stuk makkelijker: Het maakt SQL-backup-bestanden met uniforme instellen. Daarnaast kan het backup-bestand locaal (dus op de webserver) opgeslagen worden en ook locaal teruggezet worden. Op die manier is het probleem van de 2 MB-bestandslimiet verholpen.

Script om een bestaande Drupal-site te migreren:

  1. Installeer op de bronlocatie de Backup and Migrate Module, en maak locaal een backup. een backup van een 'normale' site zal rond 2,5 MB groot zijn;
  2. Maak op de doellocatie een functionerende Drupal-installatie aan en copieer het settings.php-bestand naar bv. settings_org.php;
  3. Copieer met behulp van FTP alle bestanden van bronlocatie naar doellocatie. Dus inclusief alle modules (wo. Backup and Migrate) en de aangemaakte backup;
  4. Verwijder het gecopieerde settings.php-bestand en hernoem settings_org.php naar settings.php. Als het goed is, heb je nog steeds een functionerende Drupal-installatie met toevallig veel niet-geactiveerde modules;
  5. Activeer op de doellocatie de Backup and Migrate Module en restore het eerder aangemaakte en gecopieerde backup-bestand.

Soms lijkt zich het probleem voor te doen dat de database-dump bestandkenmerk rw- --- --- krijgt. Dan kun je het niet copieren en je krijgt een foutmelding bij ftp-en. Ander probleem: Tijdens ftp-en van bronlocatie naar locale computer: Foutmeldingen omtrent identieke bestandsnamen: Soms lijkt er geen onderscheid te worden gemaakt tussen identieke bestandsnamen maar verschillen tussen upper- en undercase, zelfs op een locale Linux-machine. Mogelijke oplossingen:

  • Laat de Backup and Migrate-module een gecomprimeerde dump maken die gelijk gedownload wordt: Dat bestand zal ca. 500 MB zijn, dus een vijfde van de oorspronkelijke bestandsgrootte;
  • Geef skip of skip all tijdens foutmeldingen gedurende ftp-en naar locale machine; houdt uiteraard bij waar dit gebeurd

Indien de toegangsgegevens voor de database op de bronlocatie dezelfde zijn als op de doellocatie, kan migratie nog iets efficienter:

  1. Zorg ervoor dat de database op de doellocatie dezelfde naam, gebruikersnaam en wachtwoord heeft als op de bronlocatie
  2. Maak op bronlocatie een backup van de database. In de praktijk lijkt gecomprimeerd downloaden erg practisch te zijn
  3. Copieer alle bestanden van bron- naar doellocatie
  4. Upload een uitgepakte backup van de database naar files/backup_migrate/manual op de doellocatie
  5. Start de site op de doellocatie. Als het goed is, start deze direct
  6. Plaats database op doellocatie terug.

Bronnen:

Persoonlijke instellingen