Sonstiges > Infrastruktur
Automatisiertes FTP-Backup für Windows 2003
DaWutz:
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? :-:
TMC:
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\
--- Ende Code ---
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?
DaWutz:
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". ::)
TMC:
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
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln