Datenbank Backup per FTP übertragen

clemenz

Aktives Mitglied
13. Januar 2014
71
1
Hallo, da ich mir seit Stunden den Wolf suche, versuche ich mein Glück mal hier. Zuerst schreibe ich mal, was ich möchte. Und zwar jeden Tag um 22 Uhr eine Datenbanksicherung per Batch ausführen, welche dann die Datei direkt danach als ZIP mit speziellem Namen speichert und danach dann per FTP auf den Internetserver hoch lädt. Ich dachte ich habe dies schon, denn unter XP geht dies.

Hier mal meine beiden Scripte:

Dateiname: Sicherung.bat
Inhalt:
@echo off
ECHO Alte Datensicherungen entfernen
rename D:\ JTL-Wawi-Sicherung\*.bak *.bak-alt
ECHO Datensicherung JTL-Wawi SQL Datenbank
set mydate=%date:~-4%%date:~-7,2%%date:~-10,2%
set mytime=%time:~-11,2%%time:~-8,2%%time:~-5,2%
osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE eazybusiness TO DISK = 'D:\JTL-Wawi-Sicherung\bootssattlerei-%mydate%_%mytime: =0%.bak'"
ECHO Alte ZIP Dateien entfernen
DEL *.zip
ECHO Dateikonvertierungs ins ZIP Format
REM 7z.exe Datei ins System32 Verzeichniss kopieren
7z.exe a -r bootssattlerei-%mydate%_%mytime: =0%.zip D:\JTL-Wawi-Sicherung\*.bak
ECHO Upload der Datensicherung
ftp.exe -n -i -s:daten.ftp exit
ECHO fertig


Dateiname: daten.ftp
Inhalt:
OPEN rbhserver.de
USER [entfernt]
[entfernt]
send *.zip
disconnect
quit
------------------------

So funktioniert es bei mir auf einem XP System. Die Sicherung.bat wird eben täglich um 22 Uhr ausgeführt. Nun haben wir aber ein Windows 7 bzw. Windows 7 POS Ready, worauf JTL und LS-Pos läuft. Und genau da geht es nicht. Die Datensicherung und das Paccken geht, jedoch nicht as Übertragen. Eine Verbindung wird aufgebaut und auch die Datei wird übertragen, aber leider ist diese leer. Hatte auch paar Einstellungen mit Passiv versucht aber half alles nichts.

Dies ist der Fehler, welche raus kommt:
"425 Unable to build data connection: Die Wartezeit für die Verbindung ist abgelaufen"

Nun, was mache ich hier falsch? Wie bekomme ich dies zum laufen? Evtl. kommt auch eine alternative in Frage? Zu beachten ist aber, dass auf dem FTP Server noch von anderen Kassensystemen Sicherungen auflaufen und somit eine Eindeutige Namensvergabe notwendig ist. Des weiteren sollte es kein Programm sein, welches alle x- Minuten schaut ob es was neues gibt und dann hochladet.

Sondern es sollte ein Programm sein, wo eben richtig Zeitgesteuert ist.
Oder eben eine Batch welche geht.
Hat hierzu schon jemand Erfahrungen ?

Danke Vorab.
 
Zuletzt von einem Moderator bearbeitet:

clemenz

Aktives Mitglied
13. Januar 2014
71
1
AW: Datenbank Backup per FTP übertragen

Ja das habe ich schon angesehen, aber ersten leider Englisch und zweitens kann ich da keinen eigenen Namen für die Sicherungsdatei angeben, oder doch?
 

ralph_1

Gut bekanntes Mitglied
12. August 2011
586
5
AW: Datenbank Backup per FTP übertragen

Bitte Benutzernamen und Passwort hier entfernen und neu vergeben.
 

clemenz

Aktives Mitglied
13. Januar 2014
71
1
AW: Datenbank Backup per FTP übertragen

@Ralph1: Mist sowas ist mir auch noch nie passiert, danke für den Hinweis. Daten bereits gelöscht.

@TheOggy: Das habe ich bereits versucht mit PUT etc.
 

clemenz

Aktives Mitglied
13. Januar 2014
71
1
AW: Datenbank Backup per FTP übertragen

So, habe es nun mal auf einem anderen Windows 7 Professional System versucht, da ging es auch auf anhieb.

Somit muss es wohl an Windwos POS (Windows Embedded Standard) liegen.
Weis jemand, was hier noch fehlt oder installiert oder freigegeben werden muss, damit es geht?
 

clemenz

Aktives Mitglied
13. Januar 2014
71
1
AW: Datenbank Backup per FTP übertragen

Guten morgen,

@casim, genau das wünsche ich eben nicht, da die Weiterverarbeitung dann auch umständlicher ist. Aber ich konnte gestern das Problem finden und werde es heute beseitigen. melde mich dann hier wieder.
 

clemenz

Aktives Mitglied
13. Januar 2014
71
1
AW: Datenbank Backup per FTP übertragen

So, konnte ja das Problem herausfinden. Auf Windows 7 ging es ohne Probleme, trotzt aktivierter Standard Firewall.
Aber auf dem Windows POS System lag es dennoch an der Windows Firewall.
Da beides Ausschalten kein Sinn macht, bin ich nun wie folgt vorgegangen.

Ich habe in der Firewall folgendes Programm freigegeben:

File Transfer Program (FTP) welches im Windows\System32 Verzeichnis liegt.
Und zwar rein nur für den Bereich "Heim/Arbeit (privat)" nicht für den öffentlichen Bereich.

Und das war es, der Fehler ist weg und die Datei ist sauber hochgeladen.

Dies kann somit geschlossen werden.
 

casim

Sehr aktives Mitglied
26. Juni 2012
5.934
10
AW: Datenbank Backup per FTP übertragen

arbeitest du jetzt mit deiner skript von oben oder mit dem tool?

In deinem Skript:
- fehlt eine Prüfung der DB vor Bacjup
- fehlt eine Verifizierung der erstellen BAK-Datei
- fehlt eine Verifizierung der Upload-Datei
 

clemenz

Aktives Mitglied
13. Januar 2014
71
1
AW: Datenbank Backup per FTP übertragen

Ich arbeite mit meinem Script.

Hier nochmals das endgültige Script (diesmal ohne Kennwörter) ;)

Ich habe zwei Dateien:
Sicherung.bat (welche ich dann über geplante Task ausführen lassen)
daten.ftp
Beides im gleichen Verzeichnis

Inhalt von daten.ftp
OPEN meinserver.de
USER meinbenutzername
meinkennwort
put *.zip
bye


Inhalt von sicherung.bat
@echo off
ECHO File Transfer Program (FTP) im Windows/System32 Verzeichnis im Bereich der Firewall "Heim/Arbeit (privat)" freigeben.
ECHO Und auch hier die NAMEN der Datensicherungen zwei mal ändern auf neuen Filialnamen
Echo Dennoch starten?
pause

ECHO Alte Datensicherungen entfernen und umbenennen
DEL *.bak-alt
rename C:\Datensicherung\ JTL-Wawi-Datenbank\*.bak *.bak-alt

ECHO Datensicherung JTL-Wawi SQL Datenbank
set mydate=%date:~-4%%date:~-7,2%%date:~-10,2%
set mytime=%time:~-11,2%%time:~-8,2%%time:~-5,2%
osql.exe -D eazy -U sa -P sa04jT14 -Q "BACKUP DATABASE eazybusiness TO DISK = 'C:\Datensicherung\JTL-Wawi-Datenbank\eigenername-%mydate%_%mytime: =0%.bak'"

ECHO Alte ZIP Dateien entfernen
DEL *.zip

ECHO Dateikonvertierungs ins ZIP Format
REM 7z.exe Datei ins System32 Verzeichniss kopieren
7z.exe a -r eigenername-%mydate%_%mytime: =0%.zip C:\Datensicherung\JTL-Wawi-Datenbank\*.bak

ECHO Upload der Datensicherung
ftp.exe -n -i -s:daten.ftp
ECHO fertig
Pause
exit



So, das war es und klappt nun auf Windows 7, Windows XP und Windows POS
 

clemenz

Aktives Mitglied
13. Januar 2014
71
1
AW: Datenbank Backup per FTP übertragen

Sehe ich zwar nirgens, aber gut, nun sehe ich es ja.

Nur habe ich null ahnung, wie ich sowas einbaue, muss ich mal schauen.


Wünsch noch einen schönen Tag.
 

casim

Sehr aktives Mitglied
26. Juni 2012
5.934
10
AW: Datenbank Backup per FTP übertragen

Beitrag #11

Ich weiß nicht warum du so dos-puristisch unterwegs sein willst ... nutz das Tool und gut ist (bis zu 2 Mandanten übrigens kostenfrei!)

Dein Hinweis:

genau das wünsche ich eben nicht, da die Weiterverarbeitung dann auch umständlicher ist.

kann ich nicht nachvollziehen. Ein Backup wird nicht "weietrverarbeitet".
Das bleibt da liegen wo es sicher ist.
Wenn du mit "Weiterverarbeitung" einen Restore meinst, dann spielt es wohl keine Rolle wo deine Sicherungs-Datei liegt.
Hauptsache du hast eine und die ist fehlerfrei!
 

clemenz

Aktives Mitglied
13. Januar 2014
71
1
AW: Datenbank Backup per FTP übertragen

Ich habe das Tool schon versucht, bekomme es aber nicht hin, hier einen eigenen Namen zu vergeben speziell der Sicherungsdatei.
 

ralph_1

Gut bekanntes Mitglied
12. August 2011
586
5
AW: Datenbank Backup per FTP übertragen

Ich weiß nicht warum du so dos-puristisch unterwegs sein willst ... !
Z.B. wenn die Vorgabe für den Datenbankserver "keine Fremdsoftware" bzw. "gar keine zusätzliche Software" heißt. Dass der DB-Server keine Internetanbindung hat, lässt sich regeln, aber sonst spricht viel für Bordmittel.

OSQL stellt verschiedene Möglichkeiten zur Verfügung. Ich versuche mal aus dem Kopf ein paar Brocken hinzuwerfen:

BACKUP DATABASE WITH INIT,CHECKSUM
RESTORE VERIFYONLY WITH CHECKSUM
CHECKDB

Ich muss zugeben, dass ich das Thema bisher vernachlässigt habe, da ich noch nie Probleme mit einer DB-wiederherstellung hatte.
 

ralph_1

Gut bekanntes Mitglied
12. August 2011
586
5
AW: Datenbank Backup per FTP übertragen

(Ich fasse meine Datenbank mit Samthandschuhen an. Auf dem Server läuft außer Windows nur SQLServer. Ich passe auf, dass immer schön Strom fießt, USV funktioniert. Außerdem habe ich ECC-RAM verbaut und starte das tägliche Backup zu einem Zeitpunkt, da kein Client zugreift, selbst der Worker pausiert in der Zeit. Darum, glaube ich, hatte ich noch keine Sorgen mit einer Wiederherstellung.)

- fehlt eine Prüfung der DB vor Bacjup
- fehlt eine Verifizierung der erstellen BAK-Datei

Ich hab' da mal was vorbereitet:

Code:
set "pfad=c:\Program Files\Microsoft SQL Server\MSSQL10_50.JTLWAWI\MSSQL\Backup"
:: Überprüft die logische und physische Integrität aller Objekte in der angegebenen Datenbank
osql.exe -S <server>\JTLWAWI -U <user> -P <pass> -Q "DBCC CHECKDB('eazybusiness')" -o "%pfad%\Log\DBCHECKLog.txt"
:: Datenbank Backup
osql.exe -S <server>\JTLWAWI -U <user> -P <pass> -Q "BACKUP DATABASE eazybusiness TO DISK = '%pfad%\%date%.bak' WITH INIT,SKIP,CHECKSUM" -o "%pfad%\Log\BackupLog.txt"
:: Datenbankbackup überprüfen
osql.exe -S <server>\JTLWAWI -U <user> -P <pass> -Q "RESTORE VERIFYONLY FROM DISK = '%pfad%\%date%.bak' WITH CHECKSUM,STOP_ON_ERROR" -o "%pfad%\Log\VERIFYLog.txt"
set Anzahl=3 
for /f "skip=%Anzahl% delims=" %%i in ('dir /b /a-d /o-d "%pfad%"') do del "%pfad%\%%i"
set pfad="c:\Program Files\Microsoft SQL Server\MSSQL10_50.JTLWAWI\MSSQL\Backup"
:: Backup auf Netzlaufwerk kopieren
robocopy %pfad% \\fileserver\dbbackup /FFT /E /MIR /XO

Da OSQL keine Fehler- oder Statuscodes zurückgibt, bleibt nur der Blick ins Logfile. Das wird das oben erwähnte SQLBackupAndFTP kaum anders regeln. Nach dem Kopieren auf den Fileserver kann dort die weitere Sicherung auf einen externen Server erfolgen.

- fehlt eine Verifizierung der Upload-Datei
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Nach Update auf neueste Shop-Version – Datenbank plötzlich leer / Wie weiter? Backup, Rollback oder neu aufsetzen? JTL-Shop - Fehler und Bugs 9
Vollständiger Ex- und Import wegen fehlerhafter Datenbank - Reihenfolge? JTL-Wawi 1.6 9
Neu Kartenzahlung mit Zettle / Wo finde ich einen Transaktionscode in der Datenbank? Allgemeine Fragen zu JTL-POS 0
Neu Netzwerkprobleme JTL Wawi sucht Datenbank beim Start unter falscher IP User helfen Usern 4
Neu Nach Windows update auf dem Server keine Verbindung mehr zur Datenbank JTL-Wawi - Fehler und Bugs 4
Neu Täglich SQL Backup vom Shop Allgemeine Fragen zu JTL-Shop 2
Rückspielung Backup nicht möglich JTL-Wawi 1.10 8
Neu Wie lässt sich der Lieferstatus von Aufträgen per SQL abfragen? User helfen Usern - Fragen zu JTL-Wawi 4
Neu Sendungsnummern per Mail versenden bei mehreren Paketen User helfen Usern - Fragen zu JTL-Wawi 5
Neu Eigene Felder des Artikels per Exportvorlage Auftrag auslesen Schnittstellen Import / Export 0
Textvorlage bei "Nachricht an Kunde" per email nicht mehr möglich JTL-Wawi 1.11 2
Beantwortet Workflow Datei schreiben Dateiname per Dotliquid Fehler Illegales Zeichen im Pfad. callerMemberName : WriteFile JTL-Workflows - Fehler und Bugs 1
Bildimporte per Ameise ein "netter" Zeitvertreib JTL-Wawi 1.11 0
Lieferantenbestellung per Workflow bestätigen JTL-Wawi 1.11 0
Fehler Export PDF Datei / Senden per Email JTL-Wawi 1.11 2
Alternativtext für Artikelbilder per Ameise pro Plattform setzen JTL-Wawi 1.10 0
Neu Kundengruppe per SQL löschen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Aktivierung des Kundenkontos per Bestätigungsemail Allgemeine Fragen zu JTL-Shop 5
Neu Kann man das Shop-Guthaben von Kunden per Workflow beeinflussen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu "Ist Standard Dropshipping Lieferant" per Ameise exportieren User helfen Usern - Fragen zu JTL-Wawi 5
XML Auftragsimport per Workflow bediinen JTL-Wawi 1.8 1
neue Zahlungsart "Barter", trotzdem erscheint "Zahlung per Überweisung und QR-Code" JTL-Wawi 1.10 1
Neu Die Leiferantendaten bei Artikelstammdaten lassen sich per Ameise nicht ändern User helfen Usern - Fragen zu JTL-Wawi 6

Ähnliche Themen