Server Restore Procedures

Onbetwistbaar is datgene wat nog belangrijker is dan het regelmatig uitvoeren van backups, ze beschikbaar te hebben wanneer het er op aankomt dat een belangrijk bestand teruggezet moet worden!

Uiteraard, zoals beproken in de the section called Server Backup Procedures, zullen de procedures voor een herstelactie, afhankelijk van je keuze voor de oplossing van een backup, anders zijn. In deze sectie, zal ik methoden bespreken voor het terugzetten van bestanden waarvan met ``tar'' en ``KDat'' een backup is gemaakt.

Terugzetten met ``tar'':

Met het volgende commando zullen alle bestanden uit het archief ``full-backup-09-October-1999.tar.gz'' worden teruggezet; dit is een voorbeeldbackup van ons Linux-systeem (aangemaakt met behulp van de voorbeeldcommando's zoals weergegeven in de the section called Backup met ``tar''::

tar -zxvpf /archive/full-backup-09-October-1999.tar.gz

Met dit commando worden alle bestanden in het gecomprimeerde archief geëxtraheerd, waarbij de oorspronkelijke eigenaar en permissies van de bestanden behouden zijn. De optie ``x'' staat voor extract. (De andere opties worden beschreven in de the section called Backup met ``tar'':.

Caution

Pas op: Het extraheren van bestanden vanuit een tar-archief kan heel gevaarlijk zijn, en het zou daarom met veel oplettendheid moeten worden uitgevoerd. Misschien dat de bestanden niet werden gearchiveerd zonder een voorafgaand pad (een paar onjuist geïnstrueerde of niet geïnformeerde ontwikkelaars distribueren op deze wijze tar-archieven van hun software-aanbiedingen), wat inhoudt dat ze allen in de huidige directory worden geëxtraheerd. Misschien dat de bestanden met voorafgaande ``/'' slashes werden gearchiveerd (door het opgeven van de optie ``--absolute-paths'' toen het archief werd aangemaakt), wat betekent dat de bestanden naar hun absolute lokaties worden teruggezet (zelfs als je dat niet wilt). Of misschien werden de bestanden zonder voorafgaande ``/'' slashes gearchiveerd, wat betekent dat de bestanden onder de huidige directory worden teruggezet (zelfs als je dit niet wilt). Dit hangt natuurlijk af van hoe de backup werd aangemaakt. Om deze reden, raad ik je ten zeerste aan het ``tar'' commando met de optie ``t'' (type) eerst te testen en dan pas de ``t'' te vervangen door een ``x'' (extract) als je er absoluut zeker van bent dat het commando zal doen wat je verwacht dat het zal doen.

Als het niet nodig is alle bestanden in het archief terug te zetten, kun je één of meer bestanden die je terug wenst te zetten, opgeven, zoals in het volgende voorbeeld wordt getoond:

tar -zxvpf /archive/full-backup-09-October-1999.tar.gz \
               etc/profile usr/local/bin/tolower

Met dit commando worden de bestanden ``etc/profile'' en ``usr/local/bin/tolower'' vanuit het voorbeeldarchief teruggezet.

Tip

Als je slechts één of een paar bestanden vanaf je archief terug wilt zetten, zal dit niet lukken, tenzij je de bestandsnaam en het directorypad exact zo opgeeft als in het archief is opgeslagen. Het volgende voorbeeld zou hierbij kunnen helpen:

tar -ztvpf /archive/full-backup-09-October-1999.tar.gz \
    | grep -i profile

In dit voorbeeld, worden alle bestanden in het archief door een bestandsnaam weergegeven. De resulterende uitvoer wordt dan naar het ``grep'' commando doorgestuurd (met de optie ``i'' van grep om geen onderscheid te maken tussen hoofdletters en kleine letters), waarbij alle bestanden met óf in de naam van de directory óf bestandsnaam de string ``profile'' worden weergegeven. Zodra je de exacte bestandsnaam die je terug wenst te zetten, hebt vastgesteld, kun je het voor extractie opgeven in een gewoon tar-commando.

Zoals vermeld in de the section called Server Backup Procedures, bij het aanmaken van het archiefbestand, zal tar voorafgaande ``/'' (slash) tekens van de padnamen van het bestand verwijderen. Dit betekent dat herstelde bestanden mogelijk niet in dezelfde lokaties terecht komen als vanwaar er een backup van is gemaakt. Ga daarom naar de ``/'' root-directory, of gebruik de optie ``--directory /''.

Note

Noot: Een veel veiliger oplossing zou zijn om de gewenste bestanden in een andere directory terug te zetten (in bijvoorbeeld je homedirectory) en de bestanden daarna dan te vergelijken, verplaatsen of bij te werken op de oorspronkelijke lokaties.

Terugzetten met ``KDat'':

Doe de backuptape in de drive, kies “Mount Tape” vanuit de menu-optie “File” (of klik met de linkermuisknop op het ikoon dat er uitziet als een tape) om één of meer bestanden vanuit een met KDAT aangemaakte backupset terug te zetten.

KDat zal proberen headerinformatie vanaf de tape te lezen en als het hierin slaagt, proberen de tape-index op te zoeken die met de identificatie overeenkomt die werd gevonden in de tape-header. Deze tape-index wordt op je harddisk opgeslagen, en voor iedere door KDat geformateerde backuptape wordt een uniek bestand aangemaakt, deze wordt iedere keer dat je een backup uitvoert, bijgewerkt.

Als deze corresponderende tape-index ontbreekt (omdat je van een backup gegevens terug wilt zetten die op een andere computer is aangemaakt, of het index-bestand werd verwijderd of is beschadigd), dan zal KDat je hierover informeren en je vragen of het ok is om de index opnieuw aan te maken door het lezen van de tape. Omdat je het opnieuw aan zal moeten maken voordat je de gewenste bestanden terug kunt zetten, is het nogal logisch op “Yes” te klikken.

Note

(Noot: Zodra een tape wordt geherindexeerd, wordt de naam ervan gewijzigd in “Reindexed Tape”. Je zou de tape naar de oorspronkelijke naam moeten hernoemen).

Zodra de tape-index met succes is ingelezen, kan het worden gebruikt om de directory's of bestanden die je terug wenst te zetten vanaf de backupset te selecteren. Dit kan op vrijwel dezelfde manier als toen je de backupprofielen aanmaakte (zie de the section called Server Backup Procedures voor gedetailleerde instructies over het bestandsselectieproces).

Zodra je de van toepassing zijnde bestanden hebt geselecteerd, kun je het herstelproces opstarten door op de menubalk te kiezen voor de “File” optie en vervolgens te kiezen voor “Restore...” (of met de linkermuisknop klikken op het tape restore ikoon). KDat zal een dialoogvenster weergeven, waarbij je de mogelijkheid krijgt te bevestigen welke bestanden je terug wilt zetten. Bovendien heb je de optie een directory aan te geven waarin de bestanden zullen worden teruggezet. Dit biedt je de mogelijkheid kritieke systeembestanden in je homedirectory terug te plaatsen, en ze vervolgens later te vergelijken, verplaatsen of die bestanden bij te werken naar de bedoelde lokatie. Dit is werkelijk de veiligste manier om bestanden te herstellen.

Klik op de knop “Okay” om het herstelproces te beginnen. KDat zal de tape dan scannen en de geselecteerde bestanden terugzetten.

Zo nu en dan zal je het wellicht nodig hebben of handig vinden één of meer bestanden vanuit een backupset aangemaakt met KDat terug te zetten zonder daarvoor KDat te gebruiken. Misschien dat je dergelijke bestanden op een systeem terug zou willen zetten waar geen op GUI gebaseerde omgeving wordt geboden, of zou je dit willen doen over een langzame netwerkverbinding waarbij een remote uitvoering van KDat onpraktisch zou zijn. Gelukkig schrijft KDat zijn set backupgegevens weg door gebruik te maken van de tool ``tar'', een op de commandoregel gebaseerd hulpmiddel dat op ieder *nix-systeem beschikbaar is.

Mocht je de met KDat aangemaakte backupset met tar willen terugzetten, dan kun je dit gewoon doen met de opties die je normaal gesproken bij een backupset, aangemaakt met tar zelf, zou gebruiken. Houd echter in gedachten, dat de gegevens niet in gecomprimeerd formaat zijn opgeslagen.

Note

Noot: Je zal vrijwel zeker een foutmelding krijgen als je de KDat backupset met tar probeert te benaderen. Dit komt doordat KDat header en andere informatie aan de tape heeft toegevoegd toen het voor het eerst werd geformatteerd. Herhaal gewoon twee of driemaal het tar-commando om naar het begin van het echte tar-archiefbestand te gaan.