van_haakonnen Geschrieben 3. Mai 2007 Teilen Geschrieben 3. Mai 2007 Hallo Leute, ich wurde vor eine Aufgabe gestellt, die ich leider selbst nicht lösen kann... ich komme eigentlich aus dem Unix Umfeld und stehe deshalb jetzt etwas ratlos da... Ich möchte einen Ordner im Netzwerk (in dem Ordner ist ein Virenscanner der unregelmäßig mehrmals in der Stunde upgedatet wird) packen und anschließend im Netzwerk auf einen anderen Ordner kopieren auf den man via Webserver zugriff hat... Die Besonderheit dabei ist halt, dass durch eine Routine der Setup-Ordner des Virenscanners zu unterschiedlichen Intervallen einmal pro Stunde aktualisiert wird... Das Script/Der Packer darf also das Archiv nicht während es Aktualisierungsvorgangs erstellen, da es dann kaputt wäre... Dem Packer (ich weiß auch noch nicht welchen man am besten nimmt) sollte dann die Option "-mng no" mit übergeben werden. Der Packer soll also eine exe-Datei erstellen die nach dem extrahieren automatisch setup.exe -mgn no startet... Die Frage ist jetzt nur... wie programmiere ich soetwas... wie kann ich sicherstellen,dass meine gepackten Dateien nicht korrupt sind.. einfach alles.. ich habe - ganz ehrlich - gar keine Ahnung davon... Also es gibt eine Datei cidsync.upd .. Diese wird bei jedem Aktualisierungsvorgang mit aktualisiert (ist eine Textdatei)... wenn man sich diese vorher lokal in einen Temp-Bereich kopiert und anschließend mit der neuen im Netzwerk... Wenn dann identisch darf er das Archiv auf den Webserver kopieren. Wenn ungleich, dann verwerfen... dass müsste gehen... Ich wäre euch sehr dankbar, wenn ihr eine Idee habt Viele Grüße Van_Haakonnen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 3. Mai 2007 Teilen Geschrieben 3. Mai 2007 Naja das größte Problem dabei sollte woll sein festzustellen wann du das machen darfst. Wenn du dir aber sicher bist das das mit dem Vergleich der beiden Dateien so funktioniert dann kannst du es ja so mal probieren. Die Frage ist aber für welches Betriebssystem du das machen willst. Da du schreibst das du sonst unter Unix programmierst geh ich mal von Windows aus. Das Packen selber kannst du entweder wie von dir gedacht über ein Programm machen das du ansteuerst oder du suchst dir direkt eine entsprechende Bibliothek die das für dich erledigt. Das ganze dann in ein anderes Netzlaufwerk zu verschieben sollte kein Problem sein. Schau dir dazu mal MoveFile oder so in der Windows API an. PS: Ich denke nicht das du dazu unbedingt ein C Programm brauchst. Ein Bash Script würde es wahrscheinlich auch tun. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
van_haakonnen Geschrieben 7. Mai 2007 Autor Teilen Geschrieben 7. Mai 2007 Also ich habe mal ein Script für Windows ausprobiert.. aber ich kann es nicht und komme nicht weiter... ich hab halt wirklich keine Ahnung davon... ich dachte in C könnte man das vielleicht in vier oder fünf zeilen Code abhandeln.. wobei ich auch da eure hilfe bräuchte... also ich hab wirklich keine Ahnung... als script bin ich soweit gekommen: del E:\tmp\sophos\*.* /q "C:\Program Files\7-Zip\7z.exe" a -tzip E:\tmp\sophos\Sophos.zip E:\appl\sophos\CID\AutoUpdate\ESXP\savxp\* Damit bekomme ich ja schonmal im richten Verzeichnis eine zip-Datei erstellt... nur muss die noch zur ausführbaren exe-Datei werden und dann noch automatisch die setup.exe starten... und auch wie ich diese cidsync.upd vergleichen kann.. mit einer Schleife drumherum.. ich kanns einfahc nicht... Hiiiiiiiilfe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.