Elk uur een directory backuppen en automatisch opschonen.

Wie wil dat nou? Iemand met bijvoorbeeld een besloten MineCraft server die er al een keer achter is gekomen dat een hele wereld opnieuw opbouwen tot tranen kan leiden bij de jeugdige bouwers.

Hier is wat ik wilde bereiken: Elk uur een backup maken van de minecraftserver naar een backup schijf en dat de historie een dag of 6 bewaard wordt, zonder dat ik er elke keer naar hoef te kijken.

Stap 1: de backup, elk uur, naar een nieuw bestand. Hier heb ik het volgende script voor gemaakt:

#!/bin/bash
_dow=”$(date +’%A om %H uur’)”
_log=”backup_${_dow}.tar.gz”
tar -cvpzf “/media/mcvries/Backup/minecraft/${_log}” /home/mcvries/minecraftserver

Dit script heb ik opgeslagen in een bestand: /home/mcvries/bin/minecraftserverbackup Als je dit script op een woensdag een keer per uur draait dan zie je na verloop van tijd dit in de doelmap:

backupfolder

Op de desbetreffende machine heb ik met het commando crontab -e dit script opgenomen in de planning. De regel die je zou moeten toevoegen is :

04 * * * * /home/mcvries/bin/minecraftserverbackup

Dit zorgt er voor dat op elke dag, op elk uur en 4 minuten het script gestart word. Maar als je er niet voor zorgt dat het ook weer wordt opgeruimd, dan loopt na verloop van tijd je complete schijf vol met .tar.gz files.

Stap 2: Ik wil wel graag een dag of zes terug kunnen maar niet tot in de eeuwigheid. Dus alles ouder dan zes dagen laat ik automatisch opruimen. Met crontab -e pas ik de planning weer aan en ik voeg de volgende regel toe:

14 23 * * * find /media/mcvries/Backup/minecraft/* -mtime +6 -exec rm {} \;

Elke dag om 23:14 wordt de backup folder doorzocht en alle bestanden ouder dan 6 dagen worden verwijdert. En als er nu een keer heftig gegrieved wordt, of een van de kids is onhandig met 20 kubieke meter dynamiet dan is er in ieder geval nog een weg terug.

 

8 gedachten over “Elk uur een directory backuppen en automatisch opschonen.

    1. McVries Bericht auteur

      Rdiff niet specifiek, maar wel een aantal andere oplossingen. Maar ik wilde het eens een keer helemaal zelf doen, en de naam op basis van de dag en het uur vond ik wel een hele leuke vingeroefening.
      En het opschoon scriptje dokterde ik een poos geleden al uit, die gebruik ik al wat langer om de beelden van een webcam op te schonen.

      Reageren
  1. amkiller

    hai dit is wel cool ja…maar je reset wel alles van iedereen…beter is een plugin ervoor te nemen… bv coreprotect. dan kan je per user de schade die ze hebben gedaan terug zetten. dit kan gedaan worden door een admin of een op of via de console (remote bukkit is handig hierin) ik draai hem ook op mijn servertje… meeste users komen ook bij jouw op de server heb ik begrepen…helaas heb je er een whitelist op staan dus ik kon er niet op om te bezoeken.
    grtz cor

    Reageren
    1. McVries Bericht auteur

      Het zou inderdaad alles resetten, het is dan ook voor noodgevallen!
      Plugins en dergelijke moet ik me nog even in verdiepen, dus als je een goeie tip hebt waar te zoeken 🙂 …..

      De server die ik draai, niet op mcvries.nl trouwens, werkt inderdaad met een whitelist. We zijn 1 keer overvallen waarbij met behulp van bots de hele wereld uit mekaar getrokken werd en beklad met nazistische symbolen, dus dat leek mij veiliger. Het is een server voor een paar jongens van rond de twaalf jaar, dan heb je dat soort ellende liever niet.

      Reageren
      1. amkiller

        klopt die paar jongens spelen ook bij mij op de server…net zoals mijn dochter dus vraag maar aan ivoca, ik draai meer dan een jaar al een server bij mij en heb genoeg ervaring nu met plugins..whitelisten hoef bij mij niet meer..ik ben ff op de server geweest en inderdaad hij is kaal zonder plugins. wil je wat weten of hulp dan hoor ik het wel. ow btw ik draai ook op ubuntu 12.10…
        grtz amkiller/ cor

        Reageren
        1. mcvries

          Ik wilde binnenkort er mee aan de gang gaan, mocht ik iets nietnvoor elkaar krijgen dan misbruik ik je emailadres wel even! 🙂

          Wat ik tot dusver heb gelezen zegt dat ik moet beginnen met een bukkit server, dat klopt neem ik aan?

          Reageren

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

Houd mij op de hoogte van nieuwe reacties. Of abonneer jezelf op deze discussie zonder te reageren.