TheBat! Backup Batch

  • Zitat

    Vorschlag: Praktisch wäre, das man im Batch angeben könnte, wieviele Sicherungen angelegt werden sollen. Zur Zeit ist es glaub ich auf 5 gesetzt. Mir würden zwei Backups reichen. Also eine Variable angeben, die man auf die entsprechende Anzahl der max. Backups setzt.

    In der neuen Version geht es jetzt:
    http://www.thebatworld.de/system/section…ticle&artid=151

    In der alten Version wurden immer 5 Sicherungen vorgehalten.
    Mit der neuen Version kann jeder selbst bestimmen wieviel Sicherungen er vorhalten will.
    In der Variable OPT_SICH="X" kann man die Anzahl angeben.

    Viel Spass.

    Einmal editiert, zuletzt von m_vetdoc (21. März 2006 um 19:59)

  • Zitat


    Vielleicht habe ich mich schlecht ausgedrückt. Ich wollte von Dir wissen, wie die exe-Datei heißt. Bei mir unter WinXP heißt sie "regedit.exe" und liegt im Windows-Verzeichnis.
    Also wie heißt die exe, welche die 32-bit-Version startet und wo ist die gespeichert und wie heißt die exe, welche die 64-bit-Version startet und wo ist Diese gespeichert?
    Ich frage deshalb, weil ich am überlegen bin, ob ich die zwei verschiedenen Programme in das Script einbauen muss, damit es in Zukunft auch unter x64 problemlos läuft.

    also die exe Dateien heissen gleich.. liegen nur in unterschiedlichen Verzeichnissen... The Bat ist eine 32-Bit Anwendung, daher brauch man da auch nur die 32-Bit Sicherung der Registry!

    Die "Choise.exe" ist für mind. WinXP kompiliert... daher läuft sie unter W2k nicht...

    Besten Dank für die Angabe, wieviele Sicherungen ich vorhalten möchte...

  • Zitat

    also die exe Dateien heissen gleich.. liegen nur in unterschiedlichen Verzeichnissen... The Bat ist eine 32-Bit Anwendung, daher brauch man da auch nur die 32-Bit Sicherung der Registry!

    Wenn Du mir jetzt noch sagen kann, wie die unterschiedlichen Verzeichnisse heissen und wo die sind, kann ich eventl. dies mit einbauen. :denk:

  • Zitat


    Wenn Du mir jetzt noch sagen kann, wie die unterschiedlichen Verzeichnisse heissen und wo die sind, kann ich eventl. dies mit einbauen. :denk:

    Windows = 32 Bit
    Windows\System32 = 64 Bit <- also das System-Verzeichnis, hab mein Notebook noch nicht wieder um nachzuschauen...

  • Hallo!

    Ich habe jetzt auch das neue Script versucht. Unter Win XP SP2 funktioniert auch alles. Aber auf meinem Windows 2000-Server alle Servicepacks und Updates will es einfach nicht funktionieren.

    Meine Situation:
    The Bat ist in C:\Programme\TheBat!
    Die Daten liegen auf G:\Daten\Anwendungsdaten\Fileserver\TheBatDaten\Mail
    Dieses Verzeichnis ist freigegeben als W:\Mail, da ich übers Netz auch auf die Datenbanken zugreifen will.

    Ich habe es mit allem versucht, den vollen Pfad, den freigegebenen Pfad, ich habe auch mal zum Test das Mail-Verzeichnis in G:\TBDaten kopiert. Alles hilft nichts: Es kommt immer Fehler 5, das Datenverzeichnis werde nicht gefunden.

    In TheBat! habe ich in den Konten das freigegebenen Verzeichnis (W:\Mail\....) angegeben, das Working Directory ist auf den langen G:\Daten\....-Pfad angegeben.

    Was mache ich falsch? Wer weiß Rat?

    Danke!

    Mfg Konrad

    Schöne Grüße
    IABC
    --
    Windows 10 Pro x64 | TheBat! 9.x jeweils x64

  • Nachtrag:

    Wenn sich das Mail-Verzeichnis im TheBat!-Pfad befindet, geht es. Ich habe nun alles auf Laufwerk G verschoben, jetzt funktioniert es. Aber jetzt muss ich in allen Konten wieder alle Daten, Passwörter neu eingeben... Mist! Oder kennt jemand eine Möglichkeit, aus einer bestehenden Installation (die eben nur verschoben wurde), die relevanten Daten wieder an die richtige Stelle zu kopieren?

    Mfg Konrad

    P.S. Auf dem Server habe ich TheBat-Version 2.11.

    Schöne Grüße
    IABC
    --
    Windows 10 Pro x64 | TheBat! 9.x jeweils x64

  • Hallo IABC,

    sorry, dass ich mich jetzt erst melde.

    Welche TB-Version hast Du? Home oder Pro?
    Hast Du im Script in den Zeilen 13-18 folgendes stehen?

    Code
    :: The Bat! Installationsverzeichnis
    set INSTALL_DIR="C:\Programme\TheBat!"
    :: The Bat! Datenverzeichnis
    :: Wenn Daten in Extra-Verzeichnis, dann OPT-Variable "1", wenn alles im Bat-Verzeichnis --> 
    set OPT_DATEN_DIR="1"
    set DATEN_DIR="G:\Daten\Anwendungsdaten\Fileserver\TheBatDaten\Mail"


    Wenn nicht, bitte so übernehmen.

    Bitte prüfe einmal, ob in Deinem Mail-Verzeichnis "G:\Daten\Anwendungsdaten\Fileserver\TheBatDaten\Mail" folgende Datei vorhanden ist:
    "Account.cfn".
    Denn diese Datei prüfe ich in Zeile 90 ab, ob sie vorhanden ist. Wenn nicht erzeugt Dies den Fehler 5.

    Zitat

    In TheBat! habe ich in den Konten das freigegebenen Verzeichnis (W:\Mail\....) angegeben, das Working Directory ist auf den langen G:\Daten\....-Pfad angegeben.

    Dies ist eine Einstellung von TB und hat nichts mit dem Backup-Script zu tun.

    Einmal editiert, zuletzt von m_vetdoc (4. Mai 2006 um 15:38)

  • Hallo!

    Danke für die Antwort!

    Die Bat-Version ist 2.11. Da gabs glaube ich noch keine Home- oder Prof.-Version.

    Deine Angaben in der Batch-Datei sind bei mir genau so vorhanden.

    Zitat:
    Bitte prüfe einmal, ob in Deinem Mail-Verzeichnis "G:\Daten\Anwendungsdaten\Fileserver\TheBatDaten\Mail" folgende Datei vorhanden ist: "Account.cfn"
    Zitat Ende

    Das ist so: In "G:\Daten\Anwendungsdaten\Fileserver\TheBatDaten\Mail" existiert keine Account.cfn, wohl aber in allen Kontenunterverzeichnissen, wie z.B. "G:\Daten\Anwendungsdaten\Fileserver\TheBatDaten\Mail\info"

    Das komische ist, dass jetzt, wo ich den Mailordner einfach ins Hauptverzeichnis von The Bat! kopiert habe, alles funktioniert, obwohl dort im \Mail-Verzeichnis die Datei Account.cfn auch nicht vorhanden ist, sondern auch nur in den Kontenunterverzeichnissen. Seltsam, seltsam...

    Mfg Konrad

    Schöne Grüße
    IABC
    --
    Windows 10 Pro x64 | TheBat! 9.x jeweils x64

    Einmal editiert, zuletzt von IABC (4. Mai 2006 um 17:30)

  • Zitat

    Das komische ist, dass jetzt, wo ich den Mailordner einfach ins Hauptverzeichnis von The Bat! kopiert habe, alles funktioniert, obwohl dort im \Mail-Verzeichnis die Datei Account.cfn auch nicht vorhanden ist, sondern auch nur in den Kontenunterverzeichnissen. Seltsam, seltsam...

    Nicht seltsam, da Du jetzt das TB-Verzeichnis nutzt, brauche ich auch nicht die Existenz bzw. den richtigen Pfad zu überprüfen. Dies wird an anderer Stelle überprüft.

  • Hallo!

    Wie bekomme ich nun die Account.cfn die das Mail-Verzeichnis? Kann ich einfach eine beliebige nehmen und dort reinkopieren, damit es auch mit den externen Mail-Verzeichnissen klappt?

    Danke!

    Konrad

    Schöne Grüße
    IABC
    --
    Windows 10 Pro x64 | TheBat! 9.x jeweils x64

  • Was steht in Deinem Datenverzeichnis "G:\Daten\Anwendungsdaten\Fileserver\TheBatDaten\Mail" denn darunter?
    Eigentlich sollte hier die Dateien für die TB-Einstellungen, Adressbücher usw. stehen.
    ...\Mail\Info ist ja ein Unterverzeichnis und eMail-Konto und hier sind die kontenspezifischen Dateien drin.

  • Hi,

    liest hier noch jemand, oder ist das Projekt mittlerweile nicht mehr aktuell?

    Falls also hier noch jemand liest, insbesondere der Author, hätte ich da ein paar Anmerkungen, bzw. Fragen.

    1. Wieso wird für die Prüfung auf ein ev. Netzlaufwerk die Datei "verify" benötigt? Das macht doch gar keinen Sinn. Wenn das Verzeichnis vorhanden sein muss muss, reicht es auch einfach das Verzeichnis zu prüfen, eine extra Datei wird dazu nicht benötigt.

    2. Warum sollte hier das Programm "choice.exe" verwendet werden, wenn das Ganze eh nur noch unter W2k und höher läuft (siehe Befehl "set /a")? Mit "set /P" erreicht man dasselbe und es wird kein separates Programm benötigt, das unter W2K sowieso nicht läuft. Zudem was macht das für einen Sinn? Wenn ich das Batch nachts über den Scheduler laufen lasse, dann ist kein Mensch da der irgendwas bestätigen könnte. Dann steht das Teil bis irgendwann mal jemand kommt und halt was eintippt. Anstatt auf eine Benutereingabe zu warten wäre es viel besser entweder gleich abbrechen oder halt ein Tool wie "sleep" mit auszuliefern und eine begrenzte Zeit zu warten und dann max. 3 mal wieder versuchen. Das macht aber nur in den wenigsten Fällen überhaupt Sinn, da wenn der Rechner nicht erreichbar sein sollte, dies wohl auch ein paar Minutern oder Stunden später immer noch nicht der Fall sein wird. Die meisten werden das Batch wohl nachts laufen lassen und da ist es eher unwahrscheinlich, daß jemand vor dem Rechner sitzt.

    Ich werde mir das jedenfalls mal so ändern. Falls jemand interesse an den Änderungen haben sollte, kann er ja hier im Thread was schreiben.

    bye
    Detlef

  • Zitat

    liest hier noch jemand, oder ist das Projekt mittlerweile nicht mehr aktuell?


    Also rund 6500 User haben den Thread bisher gelesen, ob weitere dazukommen weis ich nicht, da ich keine Statistik darüber führe. :D
    Das Projekt wird momentan von mir nicht mehr weiter entwickelt, es macht und kann all das was Anfang 2006 auf der todo stand.

    zu1:
    Wenn ich mich richtig errinnere, funktionierte die If exist aufs Verzeichnis nicht, dafür aber auf die Datei, darum hatte ich es so gelöst.

    zu2:
    Umgebungsvariablen zu nutzen wollte ich bewusst nicht, aber um Dein spezielles Problem zu lösen, kannst Du den Choice-Befehl um ein timeout ergänzen und schon geht Dein Wunsch in 2. in Erfüllung.

    Ich hab hier noch eine Choice.exe rumliegen, schick mir eine eMail dann schick ich sie Dir zum Test.

  • Zitat

    Also rund 6500 User haben den Thread bisher gelesen, ob weitere dazukommen weis ich nicht, da ich keine Statistik darüber führe. :D

    Gelesen schon, aber keiner hat mehr was geschrieben, weshalb ich nicht wusste ob das noch jemand mitkriegt, wenn ich hier was schreibe.


    Zitat

    Das Projekt wird momentan von mir nicht mehr weiter entwickelt, es macht und kann all das was Anfang 2006 auf der todo stand.

    Das kann ich nicht beurteilen, weil ich die todo-liste nicht kenne und kannte. Mir sind halt ein paar Ungereimtheiten aufgefallen, das ist alles. Ich bin zwar auch kein Guru was Batchprogrammierung angeht, aber ein paar Sachen haben sich auch seit DOS-Zeiten nicht geändert :-).

    Zitat

    zu1:
    Wenn ich mich richtig errinnere, funktionierte die If exist aufs Verzeichnis nicht, dafür aber auf die Datei, darum hatte ich es so gelöst.

    Doch das geht, ging sogar schon unter DOS. Man muss halt nur "\." an den Verzeichnisnamen anhängen. Den "." muss es in jedem Verzeichnis geben, auch wenn man sonst nichts gescheites damit anfangen kann. Also mit "exist C:\temp\." kann man das ganz normal prüfen. Ich habe mich halt gewundert warum die Datei benötigt wird.

    Zitat

    zu2:
    Umgebungsvariablen zu nutzen wollte ich bewusst nicht, aber um Dein spezielles Problem zu lösen, kannst Du den Choice-Befehl um ein timeout ergänzen und schon geht Dein Wunsch in 2. in Erfüllung.

    Das verstehe ich jetzt nicht. Du verwendest doch eine Umgebungsvariable %EINGABE% genau dafür? Wie soll man auch sonst Werte von einem Programm zurückbekommen, ausser halt über ERRORLEVEL. Mein Problem war auch eher, daß die mitgelieferte CHOICE.EXE nicht unter Windows 2000 läuft (übrigens die beiden anderen Tools "tasklist" und "tkill" auch nicht). Zudem man denselben Effekt auch mit "set /P" erreichen kann. Der macht auch nichts anderes wie Choice und als Ersatz für die beiden anderen Tools kann man "pslist" und "pskill" von SysInternals verwenden, die laufen halt auf jedem System ab Windows NT.

    Zitat

    Ich hab hier noch eine Choice.exe rumliegen, schick mir eine eMail dann schick ich sie Dir zum Test.

    Ne, vielen dank für den Vorschlag. Ich habe mir das jetzt eh anders gemacht. Ich beende dann das Script, das ist mir persönlich symphatischer. Zudem wohl Deine Choice.exe ebenfalls nicht unter Windows 2000 laufen wird.

    Ich habe ja nur hier rein geschrieben, weil ich dachte, daß vielleicht jemand meine Änderungen haben wollte, weil er dieselben Probleme hatte wie ich und der Batchprogrammierung vielleicht nicht mächtig ist. Das war schon alles.

    bye
    Detlef

  • Was etwas störend ist, ist das CMD-Fenster, welches während des Sicherungsvorgangs auf dem Desktop sich in Vordergrund schiebt.

    Hier eine Möglichkeit, dass das CMD-Fenster minimiert ist und nur in der Taskleiste zu sehen ist:

    Folgende zwei Zeilen ab Zeile 9 einfügen:

    Code
    :: CMD-Fenster minimiert starten
    @set !=||(set !=1&start "%~dpnx0" /min cmd /c %0 %*&set !=&goto :eof)

    Dann sieht es so aus:

    Das wars schon alles.
    Viel Spaß weiterhin noch.

    P.S.
    Tommy, es wäre nett, wenn Du die kleine Ergänzung in Dein Tutorial noch einfügen könntest.
    http://www.thebatworld.de/system/section…ticle&artid=151
    Danke.

  • Sorry, das ich den alten Thread wieder ausgrabe...

    Ich habe jetzt mal testweise auf die 64bit-Version von TB (6.7.20) umgestellt und merke gerade, dass die Batch thebat_backup nicht mehr geht (falsches The Bat! Installationsverzeichnis, Fehlercode 4). Muss ich mich von dieser für mich besten Sicherungsmöglichkeit definitiv verabschieden oder gibt es eine Möglichkeit, das Script 64bit-fähig zu machen?

    Danke!

    Edit:
    Hab es gerade herausbekommen. In der Batch-Datei muss ich natürlich bei der Abfrage des Pfades (der sonst zur Fehlermeldung führt) thebat64.exe angeben, jetzt geht es wieder...

    Schöne Grüße
    IABC
    --
    Windows 10 Pro x64 | TheBat! 9.x jeweils x64

    Einmal editiert, zuletzt von IABC (6. Februar 2015 um 12:23)

  • Hallo,

    aber natürlich :-), auf insgesamt 6 Rechnern, alle zwei Tage ein Backup.

    Dein Script ist einfach klasse und es funktioniert bis heute tadellos! Ich finde die integrierte Backupmethode in TB lange nicht so gut wie Dein Script.

    Schöne Grüße
    IABC
    --
    Windows 10 Pro x64 | TheBat! 9.x jeweils x64