Suchen
Filter

Datensicherung auf NAS oder in die Cloud

Datensicherung auf NAS oder in die Cloud

Datensicherung auf NAS oder in die Cloud

Heute geht es um Datensicherung. Seit EULANDA 8.x ist es möglich, die Datensicherung automatisch beim Start der Warenwirtschaft ausführen zu lassen. Der erste PC am Netz, der das Programm startet führt diesen Befehl aus, ab Version 8.5 sogar asynchron.

Was aber, wenn man die Datensicherung auf eine andere Festplatte oder ein NAS speichern möchte, oder man möchte die Datensicherung in seine persönliche Wolke speichern, auf einen FTP-Server?

EulandaConnect ab der Version 2.5.7 kann hier helfen. Mit einer Zeile lässt sich eine EULANDA-Datenbank auf diese Weise sichern. Hierbei wird auch eine bestimmte Anzahl Historien verwaltet, also verschieden alte Versionen der Datenbank.

Hinweis

Es wird ihnen anhand verschiedener Beispiele gezeigt, wie der Befehl manuell angewendet wird. Anschließend wird eine automatische Aufgabe angelegt, so dass die Sicherung vollautomatisch ausgeführt wird. Wenn Sie noch nie mit der Aufgabenplanung gearbeitet haben, kann es beim ersten Mal etwas länger dauern, aber im Normalfall sollten Sie für die Umsetzung dieses Dokuments ca. 20 Minuten einplanen.

Voraussetzungen

Die hier angegebenen Voraussetzungen müssen dort installiert werden, wo auch der SQL-Server installiert wurde.

Eine genaue Anleitung findet man in älteren BLOGs. Hier eine Kurzfassung:

  • Powershell 7.3 installieren

    https://github.com/PowerShell/PowerShell/releases/download/v7.3.4/PowerShell-7.3.4-win-x86.msi
  • EulandaConnect innerhalb der PowerShell-Konsole installieren

    Set-PSRepository PSGallery -InstallationPolicy Trusted
    Install-Module -Name EulandaConnect -Repository PsGallery -scope CurrentUser

Datenbank als Zip-Archiv sichern

Der Datensicherungs-Befehl Backup-MssqlDatabse kommt mit verschiedenen Parameter-Optionen. Der einfachste Fall wäre eine normale Datensicherung. Der Pfad und der Name der UDL-Datei muss entsprechend angepasst werden.

Backup-MssqlDatabase -udl 'C:\temp\Eulanda_1 JohnDoe.udl'

Diese Zeile erzeugt eine Datensicherung als Eulanda_1 JohnDoe.bak und eine komprimierte Version der Datensicherung als Eulanda_1 JohnDoe.zip. Möchte man nur die komprimierte Version aufheben, so ist der Befehl:

Backup-MssqlDatabase -udl 'C:\temp\Eulanda_1 JohnDoe.udl' -removeBak

Die Datenscherung wird am gewohnten Platz gespeichert, also z.B. bei einem SQL Srever 2019 und der Standardinstanz Eulanda unter C:\Program Files\Microsoft SQL Server\MSSQL15.EULANDA\MSSQL\Backup.

Datenbank auf einem NAS sichern

Die Sicherung auf dem SQL-Server selbst ist nicht der beste Schutz. Fällt die Festplatte aus, so sind auch die Daten der Datensicherung verloren. Möchte man die Daten auf ein NAS. also ein Netzwerk-Speicher sichern, so kann man dies über einen Parameter angeben. Nehmen wir an, das NAS soll die Sicherungen unter \\\mynas\sqldatabases speichern, in diesem Fall wird der Befehl entsprechend so erweitert:

Backup-MssqlDatabase -udl 'C:\temp\Eulanda_1 JohnDoe.udl' -removeBak -storageFolder ''\\mynas\sqldatabases'

In diesem Fall werden die zu sichernden Zip-Archive im Dateinamen auf dem NAS um das Datum der Sicherung erweitert. Dort würden sie dann z.b. als Eulanda_JohnDoe-2023-05-07-11-07-17-0378.zip gespeichert. Wird der Befehl beispielsweise täglich ausgeführt (dazu später mehr), wird eine Zusätzliche Sicherung dort abgelegt, da sie entsprechend ein neueres Datum im Dateinamen trägt. Dies wird fortgeführt, bis die maximale Anzahl 3 erreicht ist. Danach wird die älteste Zip-Datei gelöscht. Diese Anzahl 3 kann über den Parameter -history verändert werden. Man kann so beispielsweise 7 Generationen der Datenbank aufheben. Ein Befehl wäre dann:

Backup-MssqlDatabase -udl 'C:\temp\Eulanda_1 JohnDoe.udl' -removeBak -storageFolder ''\\mynas\sqldatabases' -history 7

Die Datenbanken werden in dem Unterordner '\\mynas\sqldatabases' gespeichert, dieser wird aber um den Instanzen-Namen des SQL-Server erweitert. Hat man mehrere Instanzen zu sichern, lassen sich diese auf diese Weise einfacher verwalten.

Das Ziel würde entsprechend so aussehen:

\\mynas\sqldatabases\eulanda

Datenbank auf einem FTP Server sichern

Wer eine zusätzliche Sicherheit möchte, kann die Daten auch außerhalb der eigenen 4 Wände sichern. Dies erfolgt auf einem FTP-Server. Hierzu wird der Name eines FTP-Servers benötigt ggf. ein Ordnername, wenn es nicht die Root sein soll in der die Sicherungen abgelegt werden und es werden ein Benutzername sowie ein Passwort benötigt. Ein Sicherungsbefehl könnte entsprechend wie folgt aussehen:

Backup-MssqlDatabase -udl 'C:\temp\Eulanda_1 JohnDoe.udl' -removeBak -ftpServer 'myFtp.eulanda.eu' -ftpUser 'doe' -ftpPassword 'superPass'

Die Sicherungen sind vom Dateinamen identisch wie bei der storageFolder-Angabe. Es lassen sich auch beide Ziele kombinieren, in dem neben dem FTP-Parametern auch der -storageFolder Parameter mit angegeben wird.

Die meisten FTP-Server werden heute im Passiv-Modus angesteuert, wenn Ihrer im Aktiv-Modus betrieben wird, kann dies über den Parameter -ftpActiveMode angegeben werden.

Automatische Sicherung

Wie bereist erwähnt, ist es natürlich möglich so eine Sicherung automatisch durchzuführen. Hierzu wird der Befehl in der Windows-Aufgabenplanung des Servers hinterlegt. Man kann hier die Uhrzeit einstellen, ab wann die Sicherung erfolgen soll und auch, dass der Befehl keinen angemeldeten Benutzer erfordert. Der Server-PC muss also nur eingeschaltet sein. Bei einem Fehler wird dieser von der Aufgabenplanung bemerkt und kann eingesehen werden.

Voraussetzung für die automatische Sicherung ist, dass Sie den Befehl zuvor erfolgreich in der Powershell-Konsole (Powershell 7) ausgeführt und das Ergebnis kontrolliert haben. Diese Befehlszeile kann man danach leicht abgewandelt in der Aufgabenplanung verwenden.

Die obigen Beispiele funktionieren nur, wenn Sie die Werte aus Ihrem System verwenden.

Vorgehensweise

Im ersten Schritt erstellen wir eine Aufgabe im Kontext, des angemeldeten Benutzers. Bei Aufruf der Aufgabe wird dann ein Fenster mit Meldungen angezeigt. Am Ende des Befehls werden Bildschirmausgaben ca. 10 Sekunden angezeigt, bevor das Fenster geschlossen wird. Klappt dieser Befehl wie gewünscht, wird im Anschluss der Benutzer auf den Administrator umgeändert, so dass die Aufgabe ab dem Zeitpunkt im Hintergrund und ohne Fenster läuft.

  1. Es ist empfehlenswert in der Aufgabenplanung einen eigenen Ordner für alle Aufgaben rund um EULANDA anzulegen. Unterhalb des Ordners Aufgabenplanungsbibliothek legen Sie hierzu über die rechte Maustaste einen Ordner mit Namen EULANDA an. Anschließend wählen Sie diesen an und erstellen wiederum mit rechter Maustaste eine Aufgabe unter Einfache Aufgabe erstellen....

  2. Die Aufgabe wird über einen Assistenten angelegt, Auf der ersten Seite trägt man den Namen der Aufgabe ein und ggf. eine Beschreibung, worum es hier geht. Der Name der Aufgabe ist frei wählbar, kann aber im Nachhinein nicht mehr geändert werden. Die Aufgabe müsste entsprechend gelöscht und neu angelegt werden.

  3. Die nächste Seite des Assistenten möchte wissen Wann die Aufgabe ausgeführt werden soll, hier kann man die Vorgabe Täglich übernehmen.

  4. Auch die nächste Seite kann übernommen werden. Falls Sie eine bestimmte Uhrzeit der Sicherung einstellen möchten, kann das hier, aber auch später geändert werden. Die Wiederholung sollte bei 1 stehen bleiben.

  5. Auf der Nächsten Seite wird die Art der Aktion abgefragt. Hier wird auch die Vorgabe Programm starten, übernommen.

  6. Die nächste Seite ist nun jedoch relevant. Hier trägt man als Programm für PowerShell Core 7 den Programmnamen pwsh.exe ein. Durch die Installation wurde PowerShell auf den Pfad gesetzt, so dass man diesen hier nicht explizit angeben muss. Unser Befehl muss an dieser Stelle aber etwas ergänzt werden, weshalb hier eine kurze Erläuterung folgt:

Angenommen Sie haben zuvor Ihren Datensicherungsbefehl wie folgt erstellt und getestet:

Backup-MssqlDatabase -udl 'C:\temp\Eulanda_1 JohnDoe.udl' -storageFolder 'C:\store' -ftpServer 'myFtp.eulanda.eu' -ftpUser 'Doe' -ftpPassword 'superPass'

In den Fall wird der Befehl erweitert. Es muss etwas davor und etwas nach gesetzt werden. Am einfachsten ist es, sie bauen sich die Zeile in einem Textprogramm wie dem Notepad zuvor zusammen. Hier nun der Teil, der davor gesetzt werden muss.

-ExecutionPolicy Bypass -Command "

Das Doppelte Anführungszeichen am Ende gehört dazu...

Nun folgt der Teil nach dem Befehl:

; Write-Host 'Fertig... in 10 Sek geht es weiter!'; Start-Sleep -Seconds 10"

Die komplette Befehlszeile würde dann mit den Beispieldaten wie folgt aussehen:

-ExecutionPolicy Bypass -Command "Backup-MssqlDatabase -udl 'C:\temp\Eulanda_1 JohnDoe.udl' -storageFolder 'C:\store' -ftpServer 'myFtp.eulanda.eu' -ftpUser 'Doe' -ftpPassword 'superPass'; Write-Host 'Fertig... in 10 Sek geht es weiter!'; Start-Sleep -Seconds 10"

Diese zusammengesetzte eine Zeile wird nun im Aufgaben-Assistenten unter Argumente hinzufügen hineinkopiert und der Assistent mit Fertigstellen abgeschlossen.

Der Name der Aufgabe erscheint nun in der Liste der Aufgaben und kann mit rechter Maustaste und dem Menüpunkt Ausführen gestartet werden.

Wenn alles richtig gemacht wurde erscheint nun ein Fenster und der Befehl wird ausgeführt. Am Ende bleibt die Zeile Fertig... in 10 Sek geht es weiter! für eben genau 10 Sekunden stehen, so dass man eventuelle Fehler sehen kann.

Was nun noch bleibt ist die Aufgabe dass die Datensicherung auch arbeitet, wenn kein Benutzer angemeldet ist. Hierzu klicken Sie auf die erstellte Aufgabe doppelt und wählen die Option Unabhängig von der Benutzeranmeldung ausführen aus. Das System fragt Sie dann nach einem Konto, das wäre dann als Benutzername der Administrator und eben dass an diesem PC dafür notwendige Passwort. Wird die Benutzerkontoabfrage erneut gestellt, haben Sie sich entweder beim Benutzernamen oder dem Passwort vertan.

Weitere Informationen

Enthält Ihr PC verschiedene Mandanten so können Sie auf diese Weise beliebig viele Aufgaben anlegen. Es ist auch möglich statt dessen eine Textdatei zum Beispiel Datensicherung.ps1 anzulegen und dort dann alle Backup-MssqlDatabse Befehle anzulegen und Ihre Aufgabe entsprechend anzupassen. Der Vorteil der externen Datei ist, dass man sehr schnell neue Datenbanken zufügen kann. Ebenso lassen sich hierüber weitere Jobs an die Sicherung anfügen, z.B. der Versand eine E-Mail.

Sie haben keinen FTP-Server?

EULANDA Software diesen kostengünstig für Ihre Datensicherung an. Wir machen Ihnen da gerne ein Angebot. Sprechen Sie uns einfach an, entweder per E-Mail info@eulanda.de oder per Telefon unter 06126-9373516.

Falls Sie sich die Einrichtung der Datensicherung nicht zutrauen, sprechen Sie uns auch hierzu gerne an.

 

 

Einen Kommentar hinterlassen