• Ich möchte für mein Backup zukünftig auf Fremdsoftware verzichten und das lieber mit systemeigener Software realisieren.

    Da robocopy an Bord ist, möchte ich dieses nutzen.

    Verstehe ich folgenden Parameter richtig:

    Code
    /mon:<n>    Überwacht die Quelle und wird erneut ausgeführt, wenn mehr als n Änderungen erkannt werden.

    Also:

    robocopy wird einmalig gestartet (z.B. händisch, aber als Admin) und dümpelt dann immer im Hintergrund bis n Änderungen vorhanden sind, um sich dann selbst neu zu starten? Ich kann dann den User abmelden (PC bleibt an) und brauch dafür keinen Task anlegen?

    Code
    /mir    Spiegelt eine Verzeichnisstruktur (entspricht /e plus /purge). Mit dieser Option mit der Option /e und einem Zielverzeichnis überschreibt die Zielverzeichnissicherheitseinstellungen.

    Während ohne /mir neue Dateien hinzugefügt oder geänderte überschrieben werden, werden jetzt an der Quelle nicht mehr vorhandene Dateien auch auf dem Ziel gelöscht. - Korrekt?

    Eine weitere Frage.

    Gibt es eine Möglichkeit, störungs- und verlustfrei eine in Betrieb befindliche SQL-Datenbank (Firebird) mit robocopy zu sichern? Die Sicherung erfolgt zwar täglich, aber sollte im Tagesverlauf mal ein Crash passieren, sind halt die Daten dieses Tages noch nicht gesichert. Und solange z.B. Aufträge noch nicht erledigt und als Lieferscheine in Papierform vorliegen, wäre eine Rekonstruktion schwierig bis unmöglich. Ist zwar in den letzten 20 Jahren nie passiert, aber man kennt ja die Pferde vor der Apotheke. ^^

    Ein reines Kopieren über den Explorer klappt nur, wenn nicht gerade ein Nutzerzugriff erfolgt. Die Quelle wird nicht kompromittiert, aber die Sicherung ist unter Umständen fehlerhaft. Das zugehörige Backuptool stoppt erst die Dienste ("Firebird Guardian" und "Firebird Server") und führt dann das Backup durch. - Kann ich natürlich im laufenden Betrieb nicht tun.

    Danke schon mal für die Mühe, die ich euch gemacht habe. ;)

  • Moin,

    nach Allem, was ich an Informationen gefunden habe, solltest Du mit Deinen Annahmen zur Funktion von /mon:n und /mir richtig liegen. Ich denke aber nicht, dass Du den Benutzer abmelden kannst. Im Zweifel einfach mal probieren.

  • Den Benutzer würdest du "Zwangsabmelden" wenn du den entsprechenden Dienst vor dem kopieren stoppst (und danach wieder startest), wenn ich mich nicht irre.

    Aber das ist natürlich nicht unbedingt das, was man machen sollte.

  • Hallo!

    Robocopy ist ein mächtiges Werkzeug, aber auch kein Wunderding. Eine Datenbank im laufenden Betrieb zu kopiern ist so eine Sache: wenn Du Pech hast geht der Userzugriff gerade nicht wenn die Sicherung läuft. Oder die Sicherung ist korrupt wenn gerade Userzugriffe stattfinden und die Sicherung startet.

    Ich bin jetzt nicht mit Datenbanken sehr vertraut, aber so weit ich weiß gibt es dafür eigene Sicherungswerkzeuge.

    Die Geschichte mit dem Abmelden: Alles was Du interaktiv startest wird beim Logoff auch beendet - Ausgenommen spezielle Werkzeuge die meistens einen Serverdienst im Hintergrund haben. Aber was spricht gegen einen Task? Als System eingerichtet bei Systemstart mitlaufen lassen hast Du keine Probleme mit dem Zugriff (System darf fast überall) und mit ein paar netten Parameter läuft das wie geschmiert.

    Ich würde Dir auch die Parameteter /r: und /w: ans Herz legen. Die Defaultwerte sind (mir persönich) etwas zu hoch. Auch ein Logfile ( /log) ist immer recht wichtig.

    Ach ja, noch ein Tipp: Robocopy verfolgt Hardlinks und symbolische Links. Wenn Du das nicht brauchen kannst dann /jx bzw. /XJD oder /XJF

    lg

    Racer

  • Die Datenbank kannst du sicher mit DB-eigenen Mitteld "dumpen". Das sollte auch im laufenden Betrieb gehen, da diese ja "nur" gelesen wird.
    Beispiel-Ansätze:

    nbackup: https://www.firebirdsql.org/file/documenta…nbackup-backups

    gbak: https://firebirdsql.org/file/documenta…ebird-gbak.html

    Robocopy /MON läuft als Loop-Schleife in der Konsole.

    Wenn User weg, dann auch Konsole weg.

    Wenn du den /MON nutzen willst, dann als Aufgabe mit User "System" und ohne Useranmeldung.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    Einmal editiert, zuletzt von Schnuffel (14. Mai 2022 um 13:59)

  • Danke, da werde ich mal probieren. :thumbup: