Forum
Öffentliche Foren |
FORUM: Spiele & Computer THEMA: Windows Console: Datei splitten | |
AUTOR | BEITRAG |
*al!ve* - irgendwo zwischen Semester 4 und 7
RANG 0wn3r |
#1 - 23.05 09:07 Hi ihr.Ich hab hier Backup-Dateien der Größe um etwa 8GB rumliegen. Es handelt sich um Vollbackups von Partitionen, die nach dem Backup mit GnuPG verschlüsselt wurden. Ich würde diese Dateien nun gerne per FTP (alternativ: SSH mit Cygwin), (+ SSL-Socket) von einem 2MBit-DSL-Anschluss auf einen anderen 2MBit-DSL-Anschluss übertragen. Zeitlimit liegt bei etwa zwei Wochen, jeweils nachts. Betriebssystem beidseitig Windows XP Prof. Um das zu bewerkstelligen will ich die Backupdateien vor dem senden in Stücke zu je 5MB unterteilen und nach dem senden wieder zusammenfügen. Idee hierzu: FTP-Server auf Quellseite, Scriptclient auf der Zielseite. Der FTP-Server stellt Dateien + eine Liste der MD5en bereit. Der Client holt sich die MD5-Datei und holt sich anschließend jede Einzeldatei, für die der lokale MD5 nicht mit dem aus der Datei überein stimmt. Scriptende = Liste vollständig fehlerfrei vorhanden, Scriptabbruch spielt keine Rolle. Wenn jemand ne andere Idee hat darf er sich gerne auch zu Wort melden . |
ReBoot
RANG Deckschrubber |
#2 - 23.05 09:30 Die Konsole selbst kann es meines Wissens nach nicht. Aber es gibt für diverse Packer Konsolenprogramme, die eine Datei in ein gesplittetes Archiv packen können. |
tiefseetaucher helmi
RANG Deckschrubber |
#3 - 23.05 09:36 winrar müsste das doch können. |
The Terminator
RANG Deckschrubber |
#4 - 23.05 11:02 ist es nicht einfacher, das zeug auf cds / dvds zu brennen und per post zu versenden? |
*al!ve* - irgendwo zwischen Semester 4 und 7
RANG 0wn3r |
#5 - 23.05 11:20 Nein, es soll immerhin automatisiert passieren. Der Zeitansatz von "maximal zwei Wochen" bedeutet 26 Sicherungen im Jahr. Wenn die Übertragung spürbar schneller ist als angenommen (oder wenn das zur Verfügung stehende Zeitfenster entsprechend groß ist) könnte es auch sein dass das ganze häufiger als "alle zwei Wochen" ablaufen soll. |
*al!ve* - irgendwo zwischen Semester 4 und 7
RANG 0wn3r |
#6 - 24.05 16:01 Danke für den Tip mit dem Kompressionsprogramm. Hatte ich zwar vor vier Jahren schon mal so gelöst, aber nochmal drauf gekommen wär ich jetzt nicht mehr .Wenn es jemanden interessiert, das sind die Scripts die ich produziert hab. Mal n bissl testen und dann gucken ob sich das produktiv einsetzen lässt. Server (Hat lokalen Zugriff auf die zu sichernde Datei und das FTP-Verzeichnis) code: @echo off set sourceFile=d:\backupscript\server\kav7.0.0.125de.exe set backupPath=d:\backupscript\server\ftpDir\ set tmpPath=d:\backupscript\server\tmp\ set gpg=c:\Programme\GnuPG\gpg.exe set rar=c:\Programme\winrar\rar.exe set blocksize=1024 set targetUser=Stephan Schuler echo . echo . echo . echo Clear backup directory. rmdir /S /Q %backupPath% rmdir /S /Q %tmpPath% mkdir %backupPath% mkdir %tmpPath% echo . echo . echo . echo Create working copy in tmp path. copy %sourceFile% %tmpPath% echo . echo . echo . echo Jump to backup directory. cd %tmpPath% echo . echo . echo . echo Process whole backup file. for %%f IN (*) DO ( echo . echo Encrypt file %%f. call "%gpg%" -e -r "%targetUser%" "%%f" echo Md5sum file %%f. md5sum %%f > %%f.md5 echo Delete source tmp file %%f. del %%f ) echo . echo . echo . echo Compress and make blocks. call %rar% a -v%blockSize% -inul backup.rar * echo . echo . echo . echo Calculate md5sums for blocks. md5sum *.rar > backup.rar.md5 move *.rar %backupPath% move *.md5 %backupPath% Client: Holt sich Files per FTP code: @echo off set workingDir=d:\backupscript\client\downdir\ set gpg=c:\Programme\GnuPG\gpg.exe set rar=c:\Programme\winrar\rar.exe set ftpHost=10.214.1.5 set ftpUser=ftpbenutzername set ftpPass=ftppasswort set com=comfile set maxRunner=5 setlocal ENABLEDELAYEDEXPANSION echo . echo . echo . echo Jump to working directory. cd %workingDir% set runnerCount=0 :listCreator set /a runnerCount=!runnerCount!+1 IF !runnerCount!==%maxRunner% ( echo . echo . echo . echo !runnerCount! times failed, try again tomorrow. goto :EOF ) echo . echo . echo . echo Create md5-getter echo OPEN %ftpHost% > %com% echo USER %ftpUser% %ftpPass% >> %com% echo GET backup.rar.md5 >> %com% echo QUIT >> %com% echo . echo . echo . echo Get backup file list from ftp. ftp -n -s:%com% > nul del %com% echo . echo . echo . echo Process list of md5 values. for /F "tokens=1,2" %%a in (backup.rar.md5) do @( set file=%%b set file=!file:~1! set md5sum=%%a echo . echo . echo . echo Processing !file! echo Make shure that !file! exists. @dir !file! > nul IF ERRORLEVEL 1 ( echo Not found, created empty file. echo "" > !file! ) ELSE ( echo Found, ready to compare. ) @echo %%a %%b> md5.foreign.tmp @md5sum -b !file!> md5.local.tmp fc md5.foreign.tmp md5.local.tmp > nul if ERRORLEVEL 1 ( echo Different, download from ftp. echo OPEN %ftpHost% > %com% echo USER %ftpUser% %ftpPass% >> %com% echo GET !file! >> %com% echo QUIT >> %com% ftp -n -s:%com% > nul del %com% echo File downloaded. ) ELSE ( echo Allready in sync. ) del md5.foreign.tmp del md5.local.tmp ) md5sum -c backup.rar.md5 > nul if ERRORLEVEL 1 ( echo . echo . echo . echo Some files are out of sync, starting again. goto listCreator ) del backup.rar.md5 echo . echo . echo . echo Uncompress archive file call %rar% e -o+ -inul backup.part01.rar > nul echo . echo . echo . echo Decrypt all crypted files. for %%i IN (*.gpg) DO ( set file=%%i set file=!file:~0,-4! echo . echo Decrypt !file!. call %gpg% -d %%i > !file! echo . echo Delete encrypted file. del %%i echo . echo Check md5sum of encrypted file. md5sum --check --status !file!.md5 IF ERRORLEVEL 0 ( echo Decrypted with valid result. ) ) echo . echo . echo . echo Done. |
SirLant
RANG Sucker |
#7 - 25.05 19:38 Wenn du doch eh Cygwin laufen hast hättest doch auf die ganzen GNU Tools Zugriff gehabt |
*al!ve* - irgendwo zwischen Semester 4 und 7
RANG 0wn3r |
#8 - 25.05 20:08 Das hab ich nicht "eh" sondern das wäre die Alternative zum ohnehin laufenden FTP-Server, der intern auch noch andere Funktionalitäten erfüllt. Cygwin mit SSH könnte eine sicherheitsunbedenklichere Alternative zum FTP-Server darstellen. Momentan denk ich aber eher an einen FTP-Server mit SSH-Möglichkeit auf de Serverseite (Filezilla zum Beispiel) und auf der Clientseite mittels Stunnel die SSH-Gegenstelle. So hab ich zwar keine Authentifikation mittels Zertifikat sondern "nur" über Benutzername/Passwort aber das Passwort geht wenigstens nicht im Klartext über die Leitung. |