phobosx
Goto Top

Skript um PostgreSQL (8.4) DB zurückzuspielen und ein Verzeichnis löschen und wiederherstellen - Wie?

Hi.

Ich möchte per Skript (später soll dieses als automatischer Task eingebunden werden) folgendes realisieren:

DB: PostgreSQL 8.4
OS: Win Server 2008 R2

Ich habe eine Datenbank, welche ich mit folgendem Skript immer wieder überschreibe:

@echo off
SET PGPASSWORD=12345
"C:\Programme\PostgreSQL\8.4\bin\pg_restore" -U postgres -c -d DATENBANKNAME D:\BACKUP\Restore\BACKUPDERDATENBANK.backup
exit


Nun möchte ich zusätzlich den Inhalt eines bestimmten Verzeichnises immer wieder löschen und einen "default" Inhalt dort einfügen.


Dazu muss erst ein Dienst beendet werden, da dieser auf jenes Verzeichnis zugreift.


Nun meine Frage, ob das überhaupt geht, da der Inhalt des zu löschenden Ordners immer erst dann gelöscht werden kann, wenn der Dienst gestoppt wurde.


Ein Skript läuft ja recht schnell durch, so dass es da wahrscheinlich zu Problemen kommt. Wie kann ich das nun realisieren?


Danke schon mal.

Content-Key: 139637

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

Printed on: April 19, 2024 at 18:04 o'clock

Member: perseues
perseues Apr 01, 2010 at 06:01:31 (UTC)
Goto Top
also bezüglich Dienst stoppen und Dateien kopieren: Du kannst den Dienst mit
net stop "Dienstname" /y  
stoppen. Danach kannst Du entweder mit dem Befehl "SLEEP" aus den "Windows Server 2003 Resource Kit Tools" oder per Einfügen von
ping -n 90 127.0.0.1 >nul
die weitere Bearbeitung verzögern (90 bedeutet hier 90 Sekunden). Danach führst Du Deine Kopier- und Löschaktion durch und startest den Dienst neu.

Grüße p
Member: PhobosX
PhobosX Apr 01, 2010 at 12:04:21 (UTC)
Goto Top
Wie man Dienste startet/stoppt ist klar. Das mit dem Timeout per Ping ist eine Option, das werde ich testen. Danke.


Jetzt möchte ich noch ein default-Verzeichnis immer wieder in ein anderes Verzeichnis schieben...Problem: das Zielverzeichnis wird vom Webserver IIS verwendet...kann man das irgendwie erzwingen, dass er den Inhalt löscht/überschreibt?


Danke