volkerb
Goto Top

Backup mit Zip-Dateien erstellen

Hallo,

ich bin am Basteln einer Sicherung. Ich habe folgendes vor...

ich sichere die Nutzerdaten aus c:\users auf eine andere Platte. Ich habe gemerkt, dass die Familie doch sehr viel im jeweiligen Profil ablegt.
Das Backup mache ich via Robocopy, was auch wunderbar funktioniert.

Ich möchte aber das ganze über eine Batch-Datei zippen, um etwas Platz zu sparen. Vielleicht hänge ich diese in die Backup.bat dazu oder führe es danach Zeitgesteuert hin und wieder aus.

Beispiel:

Ich habe im Profilpfad die Ordner Tobias, Manu, Eileen sowie die System-Ordner. Mein Batch soll so funktionieren, dass aus jedem Profilordner eine Zip wird.

Ich wurde fündig hier: Ordner zippen mit Batch

Das hilft zwar, macht aber eine Zip des ganzen Profilordners. Das möchte ich ja nicht. Ich möchte, falls wir etwas suchen, gezielt nur in einem Zip-Archiv eines bestimmten Profils suchen können und nicht das ganze Archiv von c:\users durchblättern.

Wer kann mir in der Sache helfen?

Vielen Dank für die Vorschläge.

Grüße

V

Content-ID: 919904900

Url: https://administrator.de/contentid/919904900

Ausgedruckt am: 08.11.2024 um 07:11 Uhr

emeriks
emeriks 06.07.2021 aktualisiert um 09:47:47 Uhr
Goto Top
Hi,
warum nicht einfach NTFS mit Kompression? Also das Ziel, auf welches Du mit Robocopy kopierst, mit NTFS formatieren und die Kompression aktivieren.
Das läuft dann aufs Gleiche hinaus.

E.

Edit: Korrigiere doch bitte den Link. Da ist das "//" ans Ende gerutscht.
em-pie
em-pie 06.07.2021 um 10:38:11 Uhr
Goto Top
Moin,

schau dir einmal den Thread an: Dateien packen und verschieben
Der könnte dir womöglich schon helfen, sofern du weg von Batch und hin zur Powershell willst face-smile

Zitat von @emeriks:

Hi,
warum nicht einfach NTFS mit Kompression? Also das Ziel, auf welches Du mit Robocopy kopierst, mit NTFS formatieren und die Kompression aktivieren.
Das ginge auch
Das läuft dann aufs Gleiche hinaus.

E.

Edit: Korrigiere doch bitte den Link. Da ist das "//" ans Ende gerutscht.
Ich vermute, er wollte die URL kursic schreiben. Da haben dann die Slashes hinter dem http: das kursiv-Tag geschlossen...


Gruß
em-pie
VolkerB
VolkerB 06.07.2021 um 11:18:53 Uhr
Goto Top
Hallo,

danke für die Vorschläge. Das mit dem "//" ist falsch formatiert. face-smile

Ja, mit NTFS würde das gehen, doch ich denke etwas weiter. Was ist, wenn ich auf ein SMB-Share sichere? NTFS mit Komprimierung würde doch nur auf Windows und nicht auf LINUX gehen.

Ich müsste einfach nur das Mapping im Skript ändern, dann würde es passen...

Ich halte mal an diesem Konzept mit den komprimierten Ordnern fest. Das ist systemunabhängig. Auch bin ich nicht sicher, ob das eine NAS mit machen würde.

Ich möchte das erst mal auf einer externen Platte testen und dann auf meinem "Server" übertragen.

Vielleicht kann man zum Schluss, wenn das Skript alle Ordner komprimiert hat, die nicht komprimierten Ordner auf dem Ziel dann löschen. ...dann wäre alles super. Vielleicht ist das auch nicht notwendig, weil man das Ganze schon komprimiert auf dem Zielverzeichnis ablegen kann...

Ich kann leider nicht gut Skripte schreiben.

Ich danke Euch.

Grüße
V
VolkerB
VolkerB 06.07.2021 um 15:29:21 Uhr
Goto Top
Hi,

ich habe ein bisschen mit dem Skript aus obigem Beitrag getestet. Es hat Probleme mit den geschützten Verzeichnissen. Ich möchte ja das ganze Profil sichern, auch die system- und versteckten Ordner.

Ich habe auch nur, wenn man beim Profil bleibt, eine Ebene sichern können. Es legt schon ein ZIP an, doch es scheint nicht mit dem des "normalen" Ordners nicht überein zu stimmen.

Vielleicht hilft das...

grüße
V
em-pie
em-pie 06.07.2021 um 15:35:14 Uhr
Goto Top
@VolkerB
du musst bei dem Get-Childitem noch den Parameter -Recurse mitgeben.

Des Weiteren: teste/ starte das Script mal mit Systemrechten!
https://powershell-guru.com/powershell-tip-53-run-powershell-as-system/
psexec.exe /i /s powershell.exe 
VolkerB
VolkerB 12.07.2021 um 12:51:00 Uhr
Goto Top
Hi,

danke für die Hilfe, aber wie schließe ich die Systemordner aus?

Wenn ich beim obigen Beispiel bleibe und die Profile weg sichere, möchte ich ja die Cache und Cookies nicht mit sichern. Es gibt ja viele Ordner, die ich eigentlich nicht in einem Backup gebrauchen kann.

Wichtig ist doch eigentlich, dass die Bilder, Videos, eigene Dateien und vielleicht noch die Favoriten, gesichert werden.

Wenn ich das Skript etwas verändere....

@echo off & setlocal
set "Startordner=C:\users"  
set "ZIPProg=%ProgramFiles%\7-zip\7z.exe"  

for /d /r "%Startordner%" %%i in (*) do (  
    pushd "%%i"  
    echo Bearbeite "%%i"  
    if not exist "%%~ni.zip" (  
        "%ZIPProg%" a "%%~ni.zip" "%%i" -r -mx5   
        )
    )
    popd
)
echo Fertig.

dann sichert er das Ganze.

Ich habe viel gelesen, komme aber nicht damit klar, wie das mit den Ausschlüssen geht. Ich denke, es ist einfacher nur die Bilder, Videos, eigene Dateien und Favoriten zu sichern.

Wenn ich das machen möchte, dann eignet sich dieses Skript dafür nicht.

Wer hat hier noch eine Idee?

Vielen Dank.
Grüße
V
em-pie
em-pie 12.07.2021 um 12:53:55 Uhr
Goto Top
Moin,

hast du mal in der Powershell die Beschreibung zu Get-ChildItem() angeschaut:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...

Dort wirst du zu deinem Problem zweifelsfrei etwas finden face-wink