Linux de complete gids

Page 8

SPECIAL

Linux Mint - Backups

BACK-UP WORKSHOP Zo maak je een dagelijkse back-up van jouw belangrijke data In het kader van dit themanummer leer je in deze workshop hoe je door middel van een shellscript een geautomatiseerde back-up kunt maken van je persoonlijke en veelgebruikte data. Om te voorkomen dat je opslagruimte op een gegeven moment volstroomt, is het mogelijk dat je in het back-upscript een roulatieschema opneemt voor het bewaren van de back-ups. André Fondse

J

e bent als root ingelogd om alle commando’s vanaf de command prompt te kunnen uitvoeren. Je maakt gebruik van een (virtueel) Linux systeem met daarop Apache, PHP, MariaDB, PHPMyAdmin en Nextcloud (Owncloud fork) geïnstalleerd. |De voorbeelden in deze workshop zijn gebaseerd op Arch Linux, maar je kunt uiteraard ook een andere Linux distributie gebruiken.

achter het IP-adres te zetten. In deze workshop ga ik ervan uit dat je tijdens het maken van het back-upscript het script opslaat in de directory /home/ linuxmag. Als je de image hebt gedownload, vind je in deze directory ook het backupscript met de naam backupscript.sh. Het volledige back-upscript kun je downloaden via https://goo.gl/oP11cZ.

STARTSITUATIE

ALGEMENE WERKING BACK-UPSCRIPT

Als je deze programma’s niet op je Linux distributie geïnstalleerd hebt of je wilt eerst dit back-upscript op een testsysteem uitproberen, dan kun je via https://goo.gl/vQ9NAm een virtual box image downloaden waarop deze programma’s geïnstalleerd zijn. Je kunt op dit systeem inloggen met de gebruiker linuxmag en het wachtwoord Reshift. Verdere gebruikersnamen en wachtwoorden staan in het bestand /home/linuxmag/wachtwoorden.txt. Als je via VirtualBox inlogt, zie je na het inloggen wat het IP-adres van het image is. Met dit IP-adres kun je desgewenst via ssh inloggen. De webinterface van Nextcloud kun je benaderen door het IP-adres van dit image in de browser in te geven. Dit geldt ook voor PHPMyAdmin door /phpmyadmin

Het back-upscript slaat alle back-ups in een tarbestand op en ieder bestand begint met de back-updatum in het formaat jjjjmmdd. Dit realiseer je door het commando date +%Y%m%d te gebruiken. Het script zorgt voor een back-up van de bestanden van iedere Nextcloud gebruiker en de MariaDB databases. Daarna worden back-ups verplaatst naar de week, maand of jaardirectory of verwijderd. Vanwege het feit dat het script alle back-ups opslaat op de harde schijf, is dit script met name geschikt voor persoonlijke data van niet al te grote omvang. In verband met de beschikbare ruimte is het script niet volledig in dit artikel afgedrukt. In deze workshop zijn relevante regels als listing

afgedrukt en licht ik deze toe.

VOORBEREIDINGEN

Om het roulatieschema voor het bewaren van de back-ups te kunnen realiseren, maak je in het back-upscript gebruik van een bepaalde directorystructuur. Hierin geef je de gebruiker root schrijfrechten en de leden van de groep wheel leesrechten. Hoe je deze directorystructuur aanmaakt en er de juiste rechten opzet, staat in Afbeelding 1 opgenomen. Het back-upscript maakt gebruik van alle aanwezige (en eventueel nog aan te maken) MariaDB databases. Daarom ga je een MariaDB gebruiker aanmaken die globale lees- en lock table rechten heeft. Dit kun je realiseren door de inhoud de volgende opdracht (1 regel!) vanaf de command prompt uit te voeren (zie Listing 1).

BACK-UP DATA

De data bestanden (exclusief die van het versiebeheer) van de gebruikers in Nextcloud worden als volgt in de directorystructuur van Nextcloud opgeslagen: /usr/share/webapps/nextcloud/data/ nextcloud_gebruikersnaam/files In Afbeelding 2 is weergegeven hoe van de bestanden die in Nextcloud opgeslagen zijn een back-up gemaakt wordt. De toelichting op dit script is per (relevante) regel als volgt:

Afbeelding 1

1,2 en 14: Hier wordt een lus uitgevoerd die van alle Nextcloud gebruikers het specifieke gebruikersdeel uitleest van het pad waar de bestanden opgeslagen zijn.

LISTING 1 mysql -h localhost --user=root --password=LinuxMag -e “CREATE USER ‘backup’@’localhost’ IDENTIFIED by ‘vltBWoEnucfxzZ3q’; GRANT SELECT, LOCK TABLES ON *.* TO ‘backup’@’localhost’ REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;”

DE COMPLETE LINUX-GIDS

21


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.