Tag Archive: server-sicherung

Backupautomatisierung auf Windows Servern – MS SQL Server Sicherung

sql_server_2008_logo_ok-300x150

Dieser Artikel ist Teil einer Serie:

  1. Einleitung
  2. Dateisicherung
  3. MS SQL Server Sicherung
  4. MySQL Sicherung
  5. Backup Komprimierung
  6. Backup-Transfer
  7. Zeitsteuerung

Nachdem wir es nun geschafft haben, zu sichernde Dateien an einem Ort abzulegen, in dem sie nicht in Verwendung sind (und wir damit weitere Schritte unternehmen können), wird es Zeit, die Sicherung um Datenbanken zu ergänzen, die sich häufig auf Serversystemen finden. Es gibt verschiedenste Datenbanksysteme, die alle ihre eigenen Sicherungsoptionen bieten (jedenfalls im Normalfall). Diese Artikelserie geht auf zwei solcher Systeme ein, die sich wohl am Häufigsten auf Serversystem wiederfinden werden: Microsofts SQL Server sowie das Open-Source-System MySQL. Die Vorgehensweise für andere Datenbanksysteme dürfte ziemlich analog dazu verlaufen, die speziellen Scripte wird man an die Möglichkeiten des jeweiligen Datenbanksystems anpassen müssen.

Um den Prozess der Sicherung einer oder mehrere MS SQL Server Datenbanken zu vereinfachen, ist es hilfreich, den ausführenden Backup-Benutzer in einer Gruppe zu haben, die auf die zu sichernden Datenbanken Backup-Rechte besitzt. Das macht die Scripte im Endeffekt kürzer, es ginge aber auch anders bspw. mit einem speziellen SQL Server Nutzer und dem Datenbankserver im „Gemischten Authentifizierungsmodus“. Das gescriptete Backup wird im Wesentlichen aus zwei Dateien bestehen: Einem SQL Script, das die notwendigen Kommandos auf Datenbankserverseite enthält sowie einem Batch-Script, dass die Ausführung des SQL Scripts am Datenbankserver reguliert.

Die Sicherung einer Datenbank per SQL Kommando ist kurz und bündig notiert. Dabei muss im Endeffekt nur ein Dateiname vorgesehen sein sowie der Name der zu sichernden Datenbank. Das folgende Script deklariert zunächst eine String-Variable, in der später der Dateiname stehen wird. Das ist hilfreich, wenn man mit dem zu schreibenden SQL Script mehr als eine Datenbank sichern will.

declare @file nvarchar(255)

SELECT @file = N'{TARGETPATH}' + REPLACE(convert(varchar,GEtDate(),102),'.','_') +  N'_{FILENAME}.bak'
BACKUP DATABASE [{DATABASENAME}] TO DISK = @file WITH INIT

In dem Script befinden sich ein paar Platzhalter, die ich in geschweifte Klammern gesetzt habe, diese müsstet ihr durch eure eigenen speziellen Werte ersetzen:

  • {TARGETPATH} – der Pfad wohin die Sicherung erfolgen soll
  • {FILENAME} – Dateiname der Sicherungdatei
  • {DATABASENAME} – der Name der zu sichernden Datenbank

Will man nun mehrere Datenbanken des gleichen Servers bzw. der gleichen Instanz sichern, muss man lediglich die Zeilen 3+4 des Scripts duplizieren und die Platzhalter entsprechend ersetzen. Eine kleine Anmerkung für die schnell drüberlesenden: Der endgültige Dateiname der Sicherung wird das Datum der Sicherung im Format JJJJ_MM_TT vor dem gewählten Dateinamen enthalten. So können mit Hilfe des Scripts mehrere Sicherungen für verschiedene Tage erzeugt werden, ohne dass diese überschrieben werden.

Nun fehlt nur noch das Batch-Script, welches die Ausführung der eben gescripteten SQL Kommandos übernimmt.

sqlcmd.exe -S {SERVER/INSTANCE} -E -b -i {BACKUPSCRIPT}.sql -o {LOGFILENAME}.log

forfiles /p "{TARGETPATH}" /m *.bak /c "cmd /c if @isdir==FALSE echo del @file & del @file" /d -8

Auch hier gibt es wieder den einen oder anderen Platzhalter im Script, die an eure Maschine angepasst werden müssten:

  •  {TARGETPATH} – der Pfad wohin die Sicherung erfolgen soll (siehe oben)
  • {SERVER/INSTANCE} – der Server und seine Adressierung bspw. 127.0.0.1\SQLEXPRESS
  • {BACKUPSCRIPT} – der Dateiname des SQL Scripts von oben
  • {LOGFILENAME} – Dateiname der zu schreibenden Logdatei

Während das erste Kommando des Batch-Scripts noch einleuchtend erscheinen dürfte, ist die nachfolgende Zeile nicht unbedingt bekannt. Diese Zeile sorgt im Endeffekt dafür, dass nur Sicherungsdateien unserer MS SQL Datenbanksicherung behalten werden, die nicht älter als 7 Tage sind. Sehr hilfreich, um im Backupverzeichnis keinen Wildwuchs zu produzieren.

Damit ist die Sicherung von Microsoft SQL Server Datenbanken gescriptet. Der nächste Teil wird sich mit der Sicherung von MySQL Datenbanken beschäftigen.

GD Star Rating
loading...

Ähnliche Einträge:

Backupautomatisierung auf Windows Servern – Dateisicherung

windows-server-2008-logo

Dieser Artikel ist Teil einer Serie:

  1. Einleitung
  2. Dateisicherung
  3. MS SQL Server Sicherung
  4. MySQL Sicherung
  5. Backup Komprimierung
  6. Backup-Transfer
  7. Zeitsteuerung

Wenn man über Sicherungen nachdenkt, kommt einem als erstes vermutlich der Haufen an Dateien in den Sinn, die auf einer Maschine herumliegen und die unterschiedlichsten Aufgaben ausführen. Ob es sich um bspw. WordPress-Installationen handelt mit vielen hochgeladenen Dateien durch Redakteure oder Dienstprogramme, die Logdateien schreiben, wie sie gerade lustig sind, all das möchte gern gesichert werden.

Für die Sicherung von Dateien zunächst einmal auf dem Server selbst verwende ich ein Werkzeug namens SyncToy. Dieses Tool ist von Microsoft selbst entwickelt und steht unter der URL http://www.microsoft.com/download/en/details.aspx?id=15155 als kostenloser Download in den Varianten für 32bit und 64bit Systeme zur Verfügung. Aufgabe dieses kleinen Helferleins ist es nachher Ordnerpaare zu synchronisieren, wobei wir bei der Backupkonfiguration keine echte Synchronisation sondern ein (so heißt es im SyncToy) „Echo“ brauchen. Doch wie funktioniert dieses kleine Ding?

Wenn man SyncToy startet, erhält man eine recht schlichte Programmoberfläche. Die wichtigsten Funktionen sind darauf wiederzufinden, nämlich die Verwaltung von Ordnerpaaren, von denen es praktisch beliebig viele geben kann sowie die Möglichkeit, Synchronisationsvorgänge als Vorschau auszuführen oder gleich richtig zu starten.

Von hier aus lassen sich nun zunächst Ordnerpaare anlegen. Zu empfehlen ist hier immer auf der linken Seite immer den Originalordner zu selektieren und für die rechte Seite das Zielverzeichnis, das im Endeffekt das Backup darstellt. Im zweiten Schritt wird die Art der Synchronisation festgelegt. Wie erwähnt, wäre die optimale Auswahl hierfür „Echo“. In diesem Szenario wird im Prinzip eine Spiegelung des linken Ordners in den rechten Ordner erzeugt. Das bedeutet, dass auf der rechten Seite Dateien gelöscht werden, die sich links nicht befinden. Das ist für eine aktuelle Sicherung auch in Ordnung und so gewollt. Wenn Dateien verloren gehen und fehlen, müssen diese eben aus älteren Backups wiederhergestellt werden. Das sollte aber auch frühzeitig bemerkt werden. Der letzte Schritt ist die Vergabe eines Namens für die Paarung.

    

Die Konfiguration wird benutzerspezifisch gespeichert. Sprich, man sollte diese Konfiguration unter dem Windows-Account machen, der später auch die Backupausführung erledigen wird (das passiert dann zwar automatisch, aber ein verantwortlicher User wird trotzdem hinterlegt). Wenn man will, kann man die Ausführung der Synchronisation durch Klick auf den „Run“-Button ausprobieren. Der Witz an dem Tool ist, dass es die Spiegelung nicht jedes Mal neu erstellt, sondern nach einer erstmaligen Vollausführung nur noch Dateien spiegelt, die sich auch tatsächlich verändert haben oder die in unserer Konfiguration gelöscht wurden.

Der letzte Schritt ist schließlich die Automatisierung dieses Vorgangs. Dies kann durch eine Batch-Datei erreicht werden, die später automatisch aufgerufen wird. Hier müssen wir nur noch das SyncToy aufrufen und ihm mitteilen, dass es bitte die Synchronisation vornehmen soll. Je nach Installationspfad des Tools ergibt sich dafür folgendes Kommando:

"C:\Program Files\SyncToy 2.1\SyncToyCmd.exe" -R

Im nächsten Teil dieser Reihe werde ich mich mit der Sicherung von Microsoft SQL Server Datenbanken befassen.

GD Star Rating
loading...

Ähnliche Einträge:

Backupautomatisierung auf Windows Servern

windows-server-2008-logo

Dieser Artikel ist Teil einer Serie:

  1. Einleitung
  2. Dateisicherung
  3. MS SQL Server Sicherung
  4. MySQL Sicherung
  5. Backup Komprimierung
  6. Backup-Transfer
  7. Zeitsteuerung

Das vermutlich leidigste Problem beim Hosten von Servern und Diensten darauf ist das Erstellen eines funktionierenden Backup Verfahrens. Auch ich schlage mich damit seit einer halben Ewigkeit herum, habe jedoch nun eine für mich hervorragend funktionierende Variante ausgearbeitet und möchte andere Interessierte daran teilhaben lassen. Alle Leser, die selbst auf Linux-Maschinen hosten und gerade die Hände über den Kopf zusammen schlagen: Ja, es gibt auch Windows Server da draußen und die möchten auch gesichert werden. Guckt nicht so komisch! 😛

Wie dem Titel zu entnehmen ist, geht es in diesem Artikel um die Sicherung von Windows Servern. Ich gehe hier einfach mal davon aus, dass ihr nicht mehr mit Windows NT oder Windows 2000 herum lauft, sondern wenigstens Windows Server 2003 oder Windows Server 2008 am Start habt. Das vorliegende „Tutorial“ läuft übrigens auf Windows Server 2008, sollte aber problemlos auf die 2003er Version angewendet werden können. Welche Edition ihr im Einsatz habt, spielt dabei keine Rolle, der kleine Web Server ist voll qualifiziert.

Bevor jetzt wieder der große Aufschrei kommt und die Anti-Windows-Fraktion in großes Gelächter ausbricht, weil sie der Meinung ist, Windows hätte nicht mal ein vernünftiges Sicherungsprogramm: Ihr irrt gewaltig. Tatsächlich bringt der Windows Server ein eigenes Sicherungstool mit, welches sich „Windows Server-Sicherung“ nennt und in der Systemsteuerung unter den Verwaltungswerkzeugen zu finden ist.

Für die ganz schnellen unter euch ist dieses Werkzeug durchaus ans Herz zu legen, vorausgesetzt, ihr verfügt entweder über eine ausreichend dimensionierte zusätzliche Festplatte im zu sichernden Serversystem selbst oder eine Netzwerkfreigabe, die ihr als Backup-Speicherplatz benutzen könnt. Dann ist die Windows Server-Sicherung ein tolles Werkzeug für euch. Die Sicherung kann über den GUI Assistenten konfiguriert werden, umfangreiche Zeitplanoptionen und die Auwahlmöglichkeit zwischen einer vollständigen Systemsicherung oder nur einzelner Verzeichnisse bspw. ist möglich. Das Werkzeug versteht selbstverständlich auch den Unterschied zwischen Vollsicherungen und inkrementellen Backups. Mir ist der Luxus einer extra Festplatte auf einem betroffenen Server leider nicht gegeben und so ist die Windows Server-Sicherung für mich leider keine Option. Zudem ist es ratsam, ein Backup auch örtlich getrennt vorzuhalten, das heißt, möglichst nicht auf der gleichen Maschine. Und da fangen dann die „Probleme“ an.

In den folgenden Teilen der Artikelreihe werde ich verschiedene Aspekte beleuchten, die zum Teil meiner Backupstrategie gehören. Dazu zählen die Dateisicherung, Datenbankserver-Sicherung, die Komprimierung der Backups und der Transfer auf externe Speicherplätze. Selbstverständlich darf auch die Zeitsteuerung nicht fehlen.

 

GD Star Rating
loading...

Ähnliche Einträge: