Inkrementelles Backup mit Winrar - vorher Prozess beenden
Hallo,
ich möchte gerne mittels Winrar täglich einige hundert Mirosoft Office Dokumente sichern.
Meine Idee war, am Ende der Woche ein volles Backup zu fahren und die nächsten sechs Tage dann inkrementell.
Das ganze sollte mit Winrar realisiert werden.
Ich habe das Problem, dass ich vor dem Backup eine Anwendung per batch beenden muss.
Die Anwendung lässt sich leider nicht als Dienst implementieren.
Das ganze auf einem Windows 2000 Server.
Leider habe ich nichts passendes gefunden, taskkill funktioniert nicht, bzw. ist nicht vorhanden.
Wie kann man das auf einem Windows 2000 Server umsetzen?
Ich habe hier im Forum von bastla bereits einige Codeschnipsel erhalten, die auch einwandfrei laufen:
c:\programme\winrar\rar a -r -agYYYYMMDD_HHMM D:\S_ @d:\Liste.txt
Hiermit wird aber immer ein volles Backup durchgeführt, entsprechend der Pfade, die sich in der Liste.txt befinden.
Kann man diesen Code um das inkrementelle Backup erweitern?
Ich freue mich auf Antworten.
Danke im Voraus.
mfg
Alforno
ich möchte gerne mittels Winrar täglich einige hundert Mirosoft Office Dokumente sichern.
Meine Idee war, am Ende der Woche ein volles Backup zu fahren und die nächsten sechs Tage dann inkrementell.
Das ganze sollte mit Winrar realisiert werden.
Ich habe das Problem, dass ich vor dem Backup eine Anwendung per batch beenden muss.
Die Anwendung lässt sich leider nicht als Dienst implementieren.
Das ganze auf einem Windows 2000 Server.
Leider habe ich nichts passendes gefunden, taskkill funktioniert nicht, bzw. ist nicht vorhanden.
Wie kann man das auf einem Windows 2000 Server umsetzen?
Ich habe hier im Forum von bastla bereits einige Codeschnipsel erhalten, die auch einwandfrei laufen:
c:\programme\winrar\rar a -r -agYYYYMMDD_HHMM D:\S_ @d:\Liste.txt
Hiermit wird aber immer ein volles Backup durchgeführt, entsprechend der Pfade, die sich in der Liste.txt befinden.
Kann man diesen Code um das inkrementelle Backup erweitern?
Ich freue mich auf Antworten.
Danke im Voraus.
mfg
Alforno
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 93293
Url: https://administrator.de/forum/inkrementelles-backup-mit-winrar-vorher-prozess-beenden-93293.html
Ausgedruckt am: 22.12.2024 um 21:12 Uhr
9 Kommentare
Neuester Kommentar
Hallo Alforno!
Zum Beenden der Anwendung (hier am Beispiel des Windows-Rechners "calc.exe"):
Ein inkrementelles Backup sollte so gehen:
[Edit] Für eine Vollsicherung nur "-ac" ohne "-ao" verwenden [/Edit]
Grüße
bastla
Zum Beenden der Anwendung (hier am Beispiel des Windows-Rechners "calc.exe"):
@echo off & setlocal
set "P=calc.exe"
set "K=%temp%\ProcKill.vbs"
> %K% echo Set WMI=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
>>%K% echo Set Proc=WMI.ExecQuery("Select * from Win32_Process Where Name = '"^&WScript.Arguments(0)^&"'")
>>%K% echo For Each P In Proc:P.Terminate:Next
cscript //nologo %K% "%P%"
Ein inkrementelles Backup sollte so gehen:
c:\programme\winrar\rar a -r -ao -ac -agYYYYMMDD_HHMM D:\S_ @D:\Liste.txt
Grüße
bastla
Hallo Alforno!
Für die inkrementelle Sicherung wird das Archiv-Attribut berücksichtigt ("-ao") - damit werden nur veränderte Dateien gesichert.
Bei beiden Sicherungsarten wird durch "-ac" das Archiv-Attribut gelöscht - damit wird die jeweilige Datei bei den inkrementellen Sicherungen erst wieder gesichert, wenn durch eine Veränderung der Datei (oder durch manuelles Setzen mit "attrib +a") dieses Attribut wieder gesetzt ist.
Grüße
bastla
[Edit] Fehlende ^ nachgetragen [/Edit]
Wie erkennt winrar denn, ob eine komplette sicherung gemacht werden soll oder nur ein inkrementelles Backup.
Wie in meinem Edit beschrieben ...Für die inkrementelle Sicherung wird das Archiv-Attribut berücksichtigt ("-ao") - damit werden nur veränderte Dateien gesichert.
Bei beiden Sicherungsarten wird durch "-ac" das Archiv-Attribut gelöscht - damit wird die jeweilige Datei bei den inkrementellen Sicherungen erst wieder gesichert, wenn durch eine Veränderung der Datei (oder durch manuelles Setzen mit "attrib +a") dieses Attribut wieder gesetzt ist.
... beenden der Anwendung.
Besteht auch die Möglichkeit zu überprüfen ob dies einwandfrei geklappt hat?
Dazu könnte das Script (nach einer festgelegten Wartezeit - im Beispiel unten 2000 ms = 2 Sekunden) nochmals überprüfen, ob noch eine Instanz des Programmes läuft und dies mit einem Errorlevel > 0 anzeigen:Besteht auch die Möglichkeit zu überprüfen ob dies einwandfrei geklappt hat?
set "P=calc.exe"
set "K=%temp%\ProcKill.vbs"
> %K% echo Set WMI=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
>>%K% echo Set Proc=WMI.ExecQuery("Select * from Win32_Process Where Name = '"^&WScript.Arguments(0)^&"'")
>>%K% echo For Each P In Proc:P.Terminate:Next:WScript.Sleep 2000
>>%K% echo WScript.Quit WMI.ExecQuery("Select * from Win32_Process Where Name = '"^&WScript.Arguments(0)^&"'").Count
cscript //nologo %K% "%P%" || echo Nicht alle "%P%" beendet - Sicherung kann nicht erfolgen! & goto :eof
echo Sicherung kann gestartet werden.
bastla
[Edit] Fehlende ^ nachgetragen [/Edit]
Hallo Alforno!
Gestartet wird natürlich über den Task-Planer, wobei Du am einfachsten 2 verschiedene Batches verwendest (die sich aber, wie oben beschrieben, eigentlich nur durch die zusätzliche Angabe von "-ao" beim Batch für die Inkrementsicherungen unterscheiden).
Grüße
bastla
Kann ich das alles über den Task Planer machen, oder muss ich das in der Syntax berücksichtigen.
Ja. Gestartet wird natürlich über den Task-Planer, wobei Du am einfachsten 2 verschiedene Batches verwendest (die sich aber, wie oben beschrieben, eigentlich nur durch die zusätzliche Angabe von "-ao" beim Batch für die Inkrementsicherungen unterscheiden).
Nehmen wir mal an ich möchte an einem Mittwoch das Backup zurücksichern, wie gehe ich dann vor?
Muss ich die einzelnen Pakete dann rückwärts entpacken?
Die Rücksicherung muss in der selben Reihenfolge wie die Sicherung erfolgen, da ja die neueren Dateiversionen die älteren überschreiben müssen.Muss ich die einzelnen Pakete dann rückwärts entpacken?
Grüße
bastla
Hallo Alforno!
Konkret: Du hast etwa am Mittwoch die rar-Dateien vom Samstag (Vollsicherung), Dienstag (am Montag veränderte oder neu erstellte Dateien) und Mittwoch (am Dienstag veränderte/neu erstellte Dateien) - zu identifizieren anhand des Datums .
Zum Rücksichern entpackst Du die Vollsicherung - damit bist Du auf dem Stand von Samstag, 4:00 Uhr. Danach entpackst Du die Datei von Dienstag, 4:00 - damit werden die Änderungen von Montag nachvollzogen (die neuen Dateien hinzugefügt, die bereits am Samstag vorhandenen durch am Montag veränderte überschrieben), und abschließend kommen aus der Datei von Mittwoch, 4:00 noch die am Dienstag geänderten/erstellten Dateien dazu.
Grüße
bastla
wie merkt sich Winrar, zu welchem vollen Backup die inkrementellen Sicherungen gehören?
Winrar muss sich nichts merken - die Rücksicherung führst ja Du durch ...Konkret: Du hast etwa am Mittwoch die rar-Dateien vom Samstag (Vollsicherung), Dienstag (am Montag veränderte oder neu erstellte Dateien) und Mittwoch (am Dienstag veränderte/neu erstellte Dateien) - zu identifizieren anhand des Datums .
Zum Rücksichern entpackst Du die Vollsicherung - damit bist Du auf dem Stand von Samstag, 4:00 Uhr. Danach entpackst Du die Datei von Dienstag, 4:00 - damit werden die Änderungen von Montag nachvollzogen (die neuen Dateien hinzugefügt, die bereits am Samstag vorhandenen durch am Montag veränderte überschrieben), und abschließend kommen aus der Datei von Mittwoch, 4:00 noch die am Dienstag geänderten/erstellten Dateien dazu.
Grüße
bastla