Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Backupprogramm das auf FTP sichert und Archivbit verwendet

Frage Microsoft

Mitglied: franc

franc (Level 2) - Jetzt verbinden

11.07.2011, aktualisiert 14:36 Uhr, 4496 Aufrufe, 3 Kommentare

Hallo,

ich suche für Windows XP ein Backup Programm, das so wie das kostenlose Personal Backup unter Benutzung des Archivbits (mit Zurücksetzen) auf einen FTP-Server (adrive.com) sichern kann und die Dateien vorher verschlüsselt.
Es sollte kostenlos sein, kann aber ruhig was kosten, wenn es problemlos funktioniert.
Es kann auch eine Batchdatei sein, wenn das irgendwie geht.
Es muss über den Taskplaner (oder sonst einen Planer) täglich ausgeführt werden.

Also ich brauche:

-sichere Verschlüsselung
-FTP als Sicherungsziel
-Archivbit muss verwendet werden (wg. großer Mengen an zu sichernden Dateien, von denen sich nur wenige ändern, ein Datumsvergleich wäre schon zu lange)
-per Taskplaner automatisch zu starten

Gibt es sowas?
Personal Backup verwende ich nun schon lange, aber beim FTP-Einsatz versagt es immer wieder, dann wird nur teilweise oder gar nichts gesichert.

Gruß, franc
Mitglied: Friemler
11.07.2011 um 17:17 Uhr
Hallo franc,

per Batch könnte das so gehen:
01.
@echo off & setlocal 
02.
 
03.
 
04.
set "SrcDir=E:\Test" 
05.
set "EncryptedFilesDir=%Temp%\Encrypted" 
06.
set "FilePwd=Geheim" 
07.
 
08.
set "FTPServer=ftp.DerServer.de" 
09.
set "FTPDir=/Sicherung" 
10.
set "FTPUser=anonymous" 
11.
set "FTPPwd=anonymous@example.com" 
12.
 
13.
 
14.
set "StartDir=%~dp0" 
15.
md "%EncryptedFilesDir%" 2>NUL 
16.
pushd "%SrcDir%" 
17.
 
18.
for /f "delims=" %%f in ('xcopy /al *.* dummy ^| find /v "Datei(en) kopiert"') do ( 
19.
  "%StartDir%7za.exe" a -tzip "%EncryptedFilesDir%\%%~nf.zip" "%%~nxf" -mx9 -mem=AES256 -p%FilePwd% > NUL 
20.
  attrib -a "%%~nxf" 
21.
22.
 
23.
popd 
24.
 
25.
if not exist "%EncryptedFilesDir%\*.zip" rd "%EncryptedFilesDir%" & exit /b 
26.
 
27.
set "FTPScript=%Temp%\FTPScript.txt" 
28.
 
29.
> "%FTPScript%" echo open %FTPServer% 
30.
>>"%FTPScript%" echo user %FTPUser% %FTPPwd% 
31.
>>"%FTPScript%" echo binary 
32.
>>"%FTPScript%" echo cd "%FTPDir%" 
33.
>>"%FTPScript%" echo lcd "%EncryptedFilesDir%" 
34.
>>"%FTPScript%" echo mput *.* 
35.
>>"%FTPScript%" echo bye 
36.
 
37.
ftp -n -i -s:"%FTPScript%" 
38.
 
39.
del "%FTPScript%" 
40.
rd /s /q "%EncryptedFilesDir%"
Die Variablen in den Zeilen 4 bis 11 musst Du auf Deine Bedürfnisse anpassen.

Zum Verschlüsseln der Dateien wird die Konsolenversion von 7-Zip verwendet, erhältlich hier (die 7-Zip Command Line Version laden). 7za.exe muss im gleichen Verzeichnis wie das obige Script gespeichert werden.

Der XCOPY-Befehl in Zeile 18 ermittelt alle Dateien im Quellverzeichnis, deren Archivbit gesetzt ist. Er kopiert jedoch nicht, sondern listet die Dateien nur auf. Es werden dabei nur die Dateien in dem angegebenen Verzeichnis berücksichtigt, Dateien in evtl. vorhandenen Unterverzeichnissen nicht. Auch versteckte bzw. System-Dateien werden nicht berücksichtigt. Dazu müsste man statt /al die Optionen /ahl an XCOPY übergeben.

In Zeile 19 wird dann jede Datei einzeln mit 7-Zip in ein passwortgeschütztes ZIP-Archiv mit AES256-Verschlüsselung und maximaler Kompression gepackt. Alle Ausgabedateien landen im in Zeile 15 temporär angelegten Verzeichnis, das durch die Variable EncryptedFilesDir aus Zeile 5 angegeben wurde. Durch den Verzeichniswechsel in das Verzeichnis der Quelldateien in Zeile 16 enthalten die ZIP-Dateien keine Verzeichnisstruktur.

In Zeile 20 wird nach dem Verschlüsseln/Komprimieren das Archivattribut jeder verarbeiteten Datei gelöscht.

Wenn die Prüfung in Zeile 25 ergibt, dass keine ZIP-Dateien erstellt wurden, wird das temporäre Verzeichnis wieder gelöscht und das Script beendet.

Ansonsten wird ab Zeile 29 ein temporäres FTP-Script erzeugt, das wegen dem MPUT-Befehl alle Dateien aus dem Verzeichnis, in dem die verschlüsselten ZIP-Dateien gespeichert wurden, auf den FTP-Server in das angegebene Verzeichnis lädt. Dieses FTP-Script wird in Zeile 37 ausgeführt.

Zum Schluss wird das FTP-Script und das temporäre Verzeichnis mit den verschlüsselten ZIP-Dateien gelöscht.

Was Dir jetzt noch zu tun bleibt, ist für die Absicherung des FTP-Transfers zu sorgen, indem Du die Meldungen des FTP-Servers auswertest und darin nach Fehlern suchst. Das könntest Du z.B. dadurch bewerkstelligen, indem Du die Ausgaben des FTP-Befehls in eine Datei umleitest und diese Datei nach dem Transfer auf Fehlermeldungen bzw. auf positive Rückmeldungen untersuchst (je nach dem was einfacher ist) und bei Abweichungen vom erwarteten Ergebnis entsprechend reagierst (Log-Datei schreiben oder z.B. mit BLAT eine EMail verschicken oder Archivattribut der betroffenen Datei wieder setzen o.ä.).

Gruß
Friemler
Bitte warten ..
Mitglied: franc
11.07.2011 um 21:13 Uhr
Vielen Dank für dieses Skript. Das schaut ja schon mal gut aus!
So wie ich das verstehe müsste ich noch etwas rumbasteln, damit auch alle Unterverzeichnisse gesichert werden:


Zitat von Friemler:
.... Es werden dabei nur die Dateien in dem angegebenen Verzeichnis berücksichtigt, Dateien in
evtl. vorhandenen Unterverzeichnissen nicht.

Ich habe nämlich sehr viele Verzeichnisse und Unterverzeichnisse...
Bitte warten ..
Mitglied: Friemler
11.07.2011 um 22:13 Uhr
Hallo franc,

in dem Fall wird es kompliziert. Du müsstest ja dann die Verzeichnisstruktur der Quelldateien im Verzeichnis für die gezippten Dateien abbilden oder nur ein großes ZIP-File erzeugen, was eine Verzeichnisstruktur mit den herausgefilterten Dateien enthält (das wäre relativ einfach).

Der FTP-Befehl MPUT kann außerdem keine kompletten Verzeichnisbäume auf den FTP-Server hochladen, nur alle Dateien aus einem Verzeichnis. Wenn Du vorher ein großes ZIP-File erzeugst, wäre das kein Problem und Du könntest statt MPUT einfach PUT verwenden. Wenn Du viele einzelne ZIP-Files in einer Kopie der originalen Verzeichnisstruktur hochladen willst, wird es auch hier kompliziert.

Für den einfachen Fall habe ich diesen Vorschlag:
01.
@echo off & setlocal 
02.
 
03.
 
04.
set "SrcDir=E:\Test" 
05.
set "DestFile=%Temp%\Backup.zip" 
06.
set "FilePwd=Geheim" 
07.
 
08.
set "FTPServer=ftp.DerServer.de" 
09.
set "FTPDir=/Sicherung" 
10.
set "FTPUser=anonymous" 
11.
set "FTPPwd=anonymous@example.com" 
12.
 
13.
 
14.
set "StartDir=%~dp0" 
15.
set "ListFile=%Temp%\7ZListFile.txt" 
16.
set "FTPScript=%Temp%\FTPScript.txt" 
17.
 
18.
del "%ListFile%" 2>NUL 
19.
pushd "%SrcDir%" 
20.
 
21.
for /f "tokens=1* delims=:" %%e in ('xcopy /alsi "*.*" "%Temp%\dummy" ^| findstr /v "^[0-9]"') do ( 
22.
  >>"%ListFile%" echo %%f 
23.
  attrib -a "%%f" 
24.
25.
 
26.
if not exist "%ListFile%" exit /b 
27.
 
28.
"%StartDir%7za.exe" a -tzip "%DestFile%" @"%ListFile%" -scsDOS -mx9 -mem=AES256 -p%FilePwd% 
29.
popd 
30.
 
31.
> "%FTPScript%" echo open %FTPServer% 
32.
>>"%FTPScript%" echo user %FTPUser% %FTPPwd% 
33.
>>"%FTPScript%" echo binary 
34.
>>"%FTPScript%" echo cd "%FTPDir%" 
35.
>>"%FTPScript%" echo put "%DestFile%" 
36.
>>"%FTPScript%" echo bye 
37.
 
38.
ftp -n -s:"%FTPScript%" 
39.
 
40.
del "%FTPScript%" 
41.
del "%ListFile%" 
42.
del "%DestFile%"
Die Namen der zu verarbeitenden Dateien werden inkl. relativem Pfad zum Quellverzeichnis in eine Datei geschrieben, die von 7Za.exe eingelesen wird. Aus den Dateien wird ein ZIP-File erzeugt und mit PUT auf den FTP-Server hochgeladen.

Gruß
Friemler
Bitte warten ..
Ähnliche Inhalte
Windows Server
Übertragungsgeschwindigkeit FileZilla und IIS-Server 8.5 mit FTP (2)

Frage von OlliPWS zum Thema Windows Server ...

Batch & Shell
gelöst FTP und bach script I Problem von nicht komplett geladener Files (9)

Frage von drscoop zum Thema Batch & Shell ...

Netzwerkmanagement
Dateien für einmaligen Download auf einen FTP Server ermöglichen (6)

Frage von staybb zum Thema Netzwerkmanagement ...

MikroTik RouterOS
FTP-Filetransfer wird abgebrochen. Read-only System bei Dude auf CCR ?

Frage von IP-PUPPI zum Thema MikroTik RouterOS ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Exchange Server
gelöst RU 17 Exchange 2010 . Erfahrungen? (10)

Frage von keine-ahnung zum Thema Exchange Server ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (10)

Frage von ahaeuser zum Thema Windows Server ...

Datenbanken
gelöst MySQL Zeiterfassungs-Problematik (wer ist eingecheckt) (9)

Frage von NativeMode zum Thema Datenbanken ...