Autor Thema: Automatisiertes FTP-Backup für Windows 2003  (Gelesen 5694 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Automatisiertes FTP-Backup für Windows 2003
« am: 14.07.05 - 21:09:56 »
Hi,

ich suche eine Möglichkeit, in Windows 2003 scheduled ein Backup auf einen FTP zu machen.

D.h. ich habe mehrere Verzeichnisse (z.B. d:\data\abc, d:\files, d:\irgendwas) und diese sollen regelmäßig komplett gesichert werden.
Zielverzeichnis auf FTP dann z.B. ftp://irgendwas/backup/d-data-abc_2005-07-14 etc.
D.h. die Quellpfade sollten entspechend formatiert als Zielverzeichnis abgelegt werden, zusätzlich noch als Kennung das Datum hinten dran.
Nice to have wäre noch eine gezippte Ablage.

Könnt Ihr dafür ein Tool empfehlen?

Oder reicht da evtl. schon eine Batchdatei?

Über Tipps wäre ich dankbar.

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
nobody is perfect but i'm pretty close 

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Automatisiertes FTP-Backup für Windows 2003
« Antwort #2 am: 14.07.05 - 22:38:50 »
Many thanks, klingt gut, und sogar incl. zip-Unterstützung  :D

Hast Du Erfahrungen damit gemacht? Ich frage auch, weil Windows 2003 Server nicht in den System requirements erwähnt ist....
« Letzte Änderung: 14.07.05 - 22:41:11 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Re: Automatisiertes FTP-Backup für Windows 2003
« Antwort #3 am: 14.07.05 - 22:45:31 »
Ich hab mal getestet aber nicht viel.

Server2003 ist so wie Windows 3.11 - also keine Bange!
 ;D
Probiere mal mit dem Demo...
nobody is perfect but i'm pretty close 

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Automatisiertes FTP-Backup für Windows 2003
« Antwort #4 am: 14.07.05 - 23:12:40 »
SyncBack gibts in einer Freeware und in einer günstigen Bezahlversion:


http://www.2brightsparks.com/
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline MartinG

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.802
  • Geschlecht: Männlich
Re: Automatisiertes FTP-Backup für Windows 2003
« Antwort #5 am: 14.07.05 - 23:15:19 »
Selber mache ich nur die andere Richtung, sprich täglich automatisierte Downloads mit automatischem entpacken per Batchdatei.

Eigentlich sehe ich keinen Grund wieso das aber nicht andersrum auch funktionieren sollte. Man kann eigentlich alle üblichen Packprogramme gut per Kommandozeile steuern.

Eine Beispielbatch von mir sieht z.B. so aus:

echo open ftpserver > ftp.tr
echo user username1 passwort >> ftp.tr
echo ascii >> ftp.tr
echo cd verzeichnisr >> ftp.tr
echo get teilekat.txt >> ftp.tr
echo close >> ftp.tr
echo quit >> ftp.tr

ftp -n -i -s:ftp.tr > log

Anstelle des get ein put und das müsste eigentlich alles gewesen sein...
Martin
Wir leben zwar alle unter dem gleichen Himmel, aber wir haben nicht den gleichen Horizont.
KONRAD ADENAUER

Offline MartinG

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.802
  • Geschlecht: Männlich
Re: Automatisiertes FTP-Backup für Windows 2003
« Antwort #6 am: 14.07.05 - 23:26:50 »
Was ich noch vergessen habe: ein Verzeichnis mit dem aktuellen Datum zu erzeugen dürfte vermutlich etwas schwieriger sein. Aber wenn Du per Packer eine Zip-Datei mit z.B. archiv.bat erzeugst, kannst Du diese ja relativ easy per Batch wieder umbenennen...

FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDATE=%%b%%c%%d
ren archiv.zip archiv%cdate%.zip
Martin
Wir leben zwar alle unter dem gleichen Himmel, aber wir haben nicht den gleichen Horizont.
KONRAD ADENAUER

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Automatisiertes FTP-Backup für Windows 2003
« Antwort #7 am: 14.07.05 - 23:33:51 »
Vielen Dank für die neuen Beiträge.

@Martin:
Deine vorgeschlagene Lösung ist mir am liebsten  ;) Denn mehr brauch ich ja gar nicht...
Klingt sinnvoll, und sollte so sicherlich funktionieren. Werde dann eine rar.exe mit einbinden für das packen.
Werde das im Detail noch testen, ich berichte natürlich dann, ob bzw. wie ich es hinbekommen habe.

Danke nochmal,
Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Automatisiertes FTP-Backup für Windows 2003
« Antwort #8 am: 16.07.05 - 22:09:56 »
So, nun hab ich mich etwas mit Batch-Dateien auseinandergesetzt.
Größere Herausforderung war es, wie man das Datum im Format YYYY-MM-DD_HH-MM-SS bekommt, da time/s mir keine Sekunden zurückgab; Lösung siehe unten im Code.
Weiter hat rar.exe (aus WinRAR 3.42) ein Problem: wird eine Datei gerade benutzt, so kann es kein rar-Archiv daraus erstellen. Daher bin ich auf Info-ZIP ausgewichen.

Was ich noch überhaupt nicht weiß:
Ich setze mit SET Variablen. Scheinbar sind diese nach dem Schließen der DOS-Box nicht mehr gesetzt. Gibt es dafür eine Doku? Ich möchte ungern, dass z.B. das Passwort systemweit zur Verfügung steht, wenn die Batch-Datei ausgeführt wird. Muss ich ein "set FTP_PW=" machen, damit die Variable verschwindet, oder hat diese eh nur zur Laufzeit Gültigkeit?

Wie auch immer:
Unten der Code, wie es funktioniert. Es erfolgt ein FTP-Upload der ausgewählten Verzeichnis.

Für Verbesserungsvorschläge bin ich dankbar.

Matthias



Code
REM ****************************************************************************
REM Purpose: Upload files from harddisk to FTP. We zip the files being uploaded.
REM          Therefore Info-Zip is needed (http://www.info-zip.org/pub/infozip/)
REM ****************************************************************************


REM ============================================================================
REM Set environment variables
REM ============================================================================
REM FTP account settings
set FTP_SERVER=server.com
set FTP_USER=username
set FTP_PW=passwort

REM directory on FTP server where we put the files (without trailing "/")
set FTP_DIR=test
REM Which file or directory do we upload?
set FTP_UPLOAD=F:\DerPfad\
REM Log directory (without trailing "/")
set FTP_LOG=log
REM Our temporary directory (without trailing "/")
set OUR_TEMP=temp
REM Filename for ftp parameters
set FTP_PARAM=~ftppar.tmp

REM Where is the zip.exe located? We are using Info-ZIP: http://www.info-zip.org/pub/infozip/
REM   direct download: ftp://ftp.info-zip.org/pub/infozip/WIN32/zip231xN.zip
set ZIP_EXE=zip.exe


REM ============================================================================
REM Get current date/time in the format: YYYY-MM-DD_HH-MM-SS --> CURDATETIME
REM ============================================================================
REM Get current date in the format YYYY-MM-DD -> TMP_DATE
for /f "tokens=1,2,3 delims=/. " %%a in ('date /t') do set TMP_DATE=%%c-%%b-%%a
REM Current time -> TMP_TIME
if %Time:~0,2% gtr 9 (set TMP_HOURS=%Time:~0,2%) else set TMP_HOURS=0%Time:~1,1%
set TMP_MIN=%Time:~3,2%
set TMP_SEC=%Time:~6,2%
set TMP_TIME=%TMP_HOURS%-%TMP_MIN%-%TMP_SEC%
REM Put the result together
set CURDATETIME=%TMP_DATE%_%TMP_TIME%

REM ============================================================================
REM Let's create the zip file
REM ============================================================================
set ZIP_FILEPATHNAME=%OUR_TEMP%/backup_%CURDATETIME%.zip
%ZIP_EXE% -r %ZIP_FILEPATHNAME% %FTP_UPLOAD%

REM ============================================================================
REM Put the FTP parameters together
REM ============================================================================
echo open %FTP_SERVER% >> %OUR_TEMP%/%FTP_PARAM%
echo user %FTP_USER% %FTP_PW% >> %OUR_TEMP%/%FTP_PARAM%
REM Since we transfer zip-file, we need the transfer mode "binary" and not "ascii"
echo binary >> %OUR_TEMP%/%FTP_PARAM%
echo cd %FTP_DIR% >> %OUR_TEMP%/%FTP_PARAM%
echo put %ZIP_FILEPATHNAME% >> %OUR_TEMP%/%FTP_PARAM%
echo close >> %OUR_TEMP%/%FTP_PARAM%
echo quit >> %OUR_TEMP%/%FTP_PARAM%


REM ============================================================================
REM FTP
REM ============================================================================
ftp -n -i -s:%OUR_TEMP%/%FTP_PARAM% > %FTP_LOG%/ftp_%CURDATETIME%.log

REM ============================================================================
REM Cleanup temp
REM ============================================================================
rd %OUR_TEMP% /s /q
md %OUR_TEMP%

Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline MartinG

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.802
  • Geschlecht: Männlich
Re: Automatisiertes FTP-Backup für Windows 2003
« Antwort #9 am: 16.07.05 - 23:45:09 »
Finde ich eine sehr schöne Lösung Matthias, die einmal mehr zeigt was man mit Batchdateien für schöne Lösungen machen kann.

Im nachhinein wäre für Dich eine Lösung per VBS-Script vielleicht sogar noch einfacher gewesen (ich selber stehe damit eher auf Kriegsfuss, obwohl ich dies relativ häufig einsetze, aber leider meistens nur per paste & copy). Für Dich als Scripting-Chef wäre es vermutlich relativ easy gewesen...

Martin
Wir leben zwar alle unter dem gleichen Himmel, aber wir haben nicht den gleichen Horizont.
KONRAD ADENAUER

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re: Automatisiertes FTP-Backup für Windows 2003
« Antwort #10 am: 18.07.05 - 19:01:18 »
Durch das Lesen dieses genialen Skripts bin ich auf die Idee gekommen, auch bei mir etwas zu automatisieren.

Allerdings bin ich auf ein Problem gestossen, das ich nicht wirklich verstehe. Ich habe zwar eine Lösung gefunden, aber vielleicht weiß ja jemand warum die eine Variante läuft, und die andere nicht - und kann es mir dann auch noch erklären.  ;)

Variante 1:
~~~~~~~
set DEST_FOLDER=D:\test\backup_zip
set ZIP_EXE=d:\zip.exe
set SOURCE_FOLDER1=D:\test\
set SOURCE1=test3
...
set ZIP_FILEPATHNAME=%DEST_FOLDER%\backup_%SOURCE1%_%CURDATETIME%.zip

%ZIP_EXE% -m %ZIP_FILEPATHNAME% %SOURCE_FOLDER1% -i backup_gw3_*

=> Fehlermeldung: zip error: Nothing to do! (D:/test/backup_zip/backup_test4_2005-07-18_18-55.zip)

Variante 2:
~~~~~~~
set wie oben...

cd test
%ZIP_EXE% -m %ZIP_FILEPATHNAME% * -i backup_gw3_*

=> Funktioniert tadellos!

Ich hab auch schon versucht mit *.* oder ähnliches hinter dem SOURCE_FOLDER, aber er mag einfach nicht. Warum?  :-:
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Automatisiertes FTP-Backup für Windows 2003
« Antwort #11 am: 18.07.05 - 20:47:11 »
Danke für Eurer Feedback zu dem Script  :) Ehrlich gesagt, war das mein erstes Batch-Script mit mehr als 4 Zeilen Code, aber eigentlich ist das alles sehr logisch, wenn man auch andere Programmiersprachen kann....

@Daniel:

Wirf mal hier den abschließenden Backslash raus:
Code
set SOURCE_FOLDER1=D:\test\

Was ich bei Info-ZIP festgestellt habe: der muss weg, wenn man mehr als 1 Quell-Verzeichnis übergibt.

Du willst doch 2 Verzeichnisse übergeben, oder? Falls nicht, dann erkläre bitte mal, was Du machen willst...

Hat es mit Deinem Verzeichniswechsel "cd test" irgendwas auf sich, oder ist das nur so reingerutscht?
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re: Automatisiertes FTP-Backup für Windows 2003
« Antwort #12 am: 18.07.05 - 21:37:10 »
Hallo Matthias,

ich hab es schon mit und ohne \ am Ende versucht - habe auch schon die \ durch / ersetzt und auch hinter dem \ bzw / schon * bzw. *.* versucht aber ohne Erfolg.

Und das mit dem cd test ist ja eben das was ich nicht verstehe, damit funktioniert es - also wenn ich "manuell" in das Verzeichnis springe, aus dem ich die Dateien backup_gw3_* (.*) weg"zippen" will.  :-:

Hintergrund:
In dem Ordner liegen log-Files, die aus einem Gateway-System stammen. Diese Dateien werden Nachts per PHP in eine MySQL-DB gepumpt und dann, da die die Dateien auf jedem Gatewayrechner gleich heissen, in backup_gw<NR>_<filename> umbenannt.
Diese umbenannten Files liegen dann in einem Ordner und warten darauf das Daniel sich ab und zu die Zeit nimmt, diese wegzuzippen, da 3000 Files in einem Ordner nicht unbedingt dazu beitragen das man zügig darin rumbrowsen kann.

Mit dem "- i backup_gw3_*" sage ich "nimm nur Files die backup_gw3_* in Namen enthalten". Wobei das scheinbar nicht klappt, wenn ich die Quelle wie bei Deinen Skript aus einem "String" zusammensetze.

Das mit dem cd ist also volle Absicht, und das Ganze klappt auch - nur finde ich es eben "unschön".  ::)
« Letzte Änderung: 18.07.05 - 21:39:15 von DaWutz »
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: Automatisiertes FTP-Backup für Windows 2003
« Antwort #13 am: 19.07.05 - 23:22:38 »
Hmm, ok.
Ich müsste das auch erst via Trial & Error ausprobieren, so aus dem Handgelenk kenne ich die "Batch-Sprache" leider viel zu wenig.
Würde aber mal am Info-Zip ansetzen, ich vermute daran liegt es...

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz