backup lösung

nachdem mich verschiedene backup applikationen nicht so recht überzeugen konnten, bin ich nun doch wieder zum klassischen kommandozeilen basierten backup zurückgekehrt. mit einem kleinen javascript tool und dem windows scripting host kann ich nun mit hilfe von winrar täglich backups meiner benutzerdaten auf unserem server ablegen. wichtig für mich war die möglichkeit nicht jeden tag komplette 5GB durch unser netzwerk zu schicken. zum einen würde das die kapazitäten auf unserem server sprengen. zum anderen hätte ich nur zugriff auf maximal 3 bis 4 tage zurückliegende daten. aus diesem grund sollte die lösung auch inkrementelle backups unterstützen. also backups, die nur daten beinhalten, welche sich seit der letzten kompletten sicherung verändert haben. der skript aufruf gestaltet sich dabei wie folgt:

cscript backup.js /destination:<folder> [/maxfull:<number>] [/maxincr:<number>]

/destination:<folder>   Root folder, where the backupfiles should be stored.
/maxfull:<number>       Maximum full backups. (optional, default=3)
/maxincr:<number>       Maximum incremental backups. (optional, default=10)

noch mal zum verständnis. destination gibt an, wo meine backups landen sollen. das skript prüft in diesem verzeichnis die darunterliegende verzeichnisstruktur. es werden falls noch nicht geschehen unterverzeichnisse "1", "2", "3" (usw. bis maxfull) angelegt. in diesen landen dann die jeweiligen .rar-dateien. wobei in "1" das aktuellste backup (inklusive seiner inkrementellen nachfolger) liegen wird. maxincr gibt an, wieviele inkementelle backups erzeugt werden, bevor ein neues komplettes backup erstellt wird. ist die grenze der inkrementellen backups im ersten verzeichniss ("1") erreicht, werden vor dem kompletten neubackup die verzeichnis-inhalte von "1" nach "2", von "2" nach "3" (usw.) verschoben. die backups im letzten ("maxfull") verzeichnis werden zuvor gelöscht. zum wiederherstellen seiner daten kann man also auf maxfull * maxincr tage zurück greifen (bei täglichem backup).
das ganze hab' ich mir als geplanten task eingerichtet, welcher täglich feuert.
im moment ist dieses skript noch beta status. also noch nicht ausreichend auf fehler geprüft. dennoch kann man es sich hier runterladen und ausprobieren:

backup.zip (2,34 KB)

das script muss derzeit noch an folgenden zeilen angepasst werden:

var rarExePath = "C:\\Programme\\WinRar\\rar.exe"; // location of rar.exe
var rarIncludeFilePath = "D:\\backup\\__filelist.txt";
var rarExcludeFilePath = "D:\\backup\\__exfilelist.txt";

bei weiteren fragen kann man mich auch direkt kontaktieren. ich denke aber demnächst hier eine neue version zu präsentieren, deren konfiguration noch komfortabler wird.

winrar kann für nichtkommerzielle zwecke frei verwendet und hier runtergeladen werden.