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, 4405 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
DNS
gelöst Sophos UTM9 - FTP nur über IP erreichbar (4)

Frage von PronMaster zum Thema DNS ...

CMS
Wordpress FTP Client im Frontend (4)

Frage von Yannosch zum Thema CMS ...

Java
Problem bei Java und FTP (1)

Frage von Marlon1 zum Thema Java ...

Batch & Shell
gelöst Per FTP-Shell oder Batch in ein unbekanten Ordner wechseln (8)

Frage von Ducky2 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Empfehlung günstiges ADSL2+ nur Modem (10)

Frage von TimMayer zum Thema Router & Routing ...

Server-Hardware
Lenovo Server System X 3650 M5 Festplatten (9)

Frage von Hendrik2586 zum Thema Server-Hardware ...