foren1
Goto Top

Script erstellen für Dienst beenden, Files sichern oder kopieren, Dienst wieder starten

Hallo Zusammen

Wir arbeiten im Geschäft mit einem Synchronsationsprogramm um die Kalendereinträge zu synchronisieren (C2 Public Folders).
Gemäss Info von der Firma sowie GBA muss man die Daten wie folgt sichern:

- Dienst C2 Public Folders stoppen
Den Ordner " Data" von C:\Programme\CodeTwo\CodeTwo PublicFolders Server\
kopieren nach XYZ:\ (wohin man halt will)
- Dienst C2 Public Folders starten


Gerne möchte ich jetzt aber ein Script haben, welches das von Zeit zu Zeit automatisiert macht.
Leider bin ich aber der absolute Anfänger mit Scripts.
Wer kennt sich damit aus und könnte mir behilflich sein?

Meine Idee war wie folgt:
Jetzt nehme ich aber an, dass ich noch eine Verzögerung brauche, damit nicht währen dem Kopieren der Dienst wieder
gestartet wird - wie aber mache ich das?


net stop "C2PublicFolders"

xcopy "C:\Programme\CodeTwo\CodeTwo PublicFolders Server\data\*.*" K:\Backup_C2_Public_Folders\ /c /s /r /y /i

net start "C2PublicFolders"

Vielen Dank für Eure Inputs
foren1

Content-ID: 168339

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

Ausgedruckt am: 26.11.2024 um 05:11 Uhr

Clijsters
Clijsters 20.06.2011 um 16:08:43 Uhr
Goto Top
Hallo foren1,
wenn du dein Script, wie es dort steht weiter verwenden möchtest,
füge an die Stellen, an denen gewaartet wird ein
Ping localhost -n 2
Das sollten ungefähr 2 Sekunden sein, die er wartet.


Gruß
Dominique
manuel-r
manuel-r 20.06.2011 um 16:09:18 Uhr
Goto Top
Dein Ansatz ist eigentlich richtig. Warum sollte der Dienst denn zwischendurch einfach mal so wieder starten?
Hitman4021
Hitman4021 20.06.2011 um 16:14:03 Uhr
Goto Top
Hallo,

dein Ansatz ist gut aber ich würde noch eine Loging Funktion einbaun.
Und die Verzögerung ist nicht nötig das das Script von oben nach unten abgearbeitet wird. Der nächste Befehl wird erst nach beenden des vorigen gestartet

echo. >> C:\LOG
echo Starte Script um %TIME% am %DATE% >> C:\LOG

echo Beende den Dienst >> C:\LOG
net stop "C2PublicFolders"  >> C:\LOG  

echo Starte Kopiervorgang >> C:\LOG
xcopy "C:\Programme\CodeTwo\CodeTwo PublicFolders Server\data\*.*" "K:\Backup_C2_Public_Folders\" /c /s /r /y /i  >> C:\LOG  

echo Starte Dienst wider >> C:\LOG
net start "C2PublicFolders"  >> C:\LOG  
echo Beende Script um %TIME% am %DATE% >> C:\LOG

So würde das bei mir ungefähr aussehen

Gruß Hitman

<EDIT>
Und dan das Script noch in die Aufgabenplanung und Fertig face-smile
Hinundwider noch in das Log schauen obs auch immer läuft.
</EDIT>
foren1
foren1 20.06.2011 um 16:21:03 Uhr
Goto Top
Hi manuel-r

Weil ich von Zeit zu Zeit diese Files sichern will und das nicht mit dem normalen täglichen Tape-Backup geht.
Gemäss Info vom Hersteller: http://www.codetwo.de/public-folders/handbuch/faq/q21.htm

Aber auch gemäss Hersteller sind wir die Einzigen, die diese Files regelmässig sichern möchten.
manuel-r
manuel-r 20.06.2011 um 16:25:47 Uhr
Goto Top
Falsch verstanden...
Ich meinte, warum ein Dienst den du zuvor stoppst plötzlich wieder starten soll? Wozu brauchst du also die Pause?
Hitman4021
Hitman4021 20.06.2011 um 16:27:05 Uhr
Goto Top
Ich glaube er hat gemeint das der Befehl net start vor abschluss von xcopy ausgeführt wird und das nicht gewartet wird bis xcopy fertig ist.

Gruß Hitman
foren1
foren1 20.06.2011 um 16:40:23 Uhr
Goto Top
Nein eben NICHT während dem Kopieren wieder starten.

stoppen
dann die Files während gestopptem Dienst kopieren
dann wieder starte (damit alles wieder synct)
foren1
foren1 20.06.2011 um 16:42:10 Uhr
Goto Top
Hi Hitman 4021

Ja das sieht doch toll aus. Funktioniert auch soweit.
Dh. ich wollte noch das >> C:\LOG in den K:\Backup.....-Ordner ändern, damit das LOG auch gleich im gleichen Ordner abgelegt wird.
Dann erhalte ich aber eine Zugriffsfehlermeldung.
Muss da nochmals etwas pröbeln.

Ihr seit spitze. Halte Euch auf dem Laufenden. Vielen Dank!!!
Hitman4021
Hitman4021 20.06.2011 um 16:44:05 Uhr
Goto Top
Siehe Script unten

Gruß
Hitman
foren1
foren1 20.06.2011 um 16:46:21 Uhr
Goto Top
jupiii.

hab den Ordner angegeben aber am Schluss vergessen \LOG hinzufügen.
Jetzt klappts.

Noch eine Update-Frage:
Wenn ich jetzt gerne möchte, dass er mir jeweils den Data-Ordner mit dem Datum benennt (zb. Data_200611)
damit er nicht immer den Ordner überschreibt > wie kann ich das lösen? Geht das überhaupt?
Hitman4021
Hitman4021 20.06.2011 um 16:52:46 Uhr
Goto Top
Hallo,

sicher geht das ;)

echo. >> C:\LOG
echo Starte Script um %TIME% am %DATE% >> C:\LOG

echo Beende den Dienst >> C:\LOG
net stop "C2PublicFolders"  >> C:\LOG  

echo Starte Kopiervorgang >> C:\LOG
xcopy "C:\Programme\CodeTwo\CodeTwo PublicFolders Server\data\*.*" "K:\Backup_C2_Public_Folders-%DATE%\" /c /s /r /y /i  >> C:\LOG  

echo Starte Dienst wider >> C:\LOG
net start "C2PublicFolders"  >> C:\LOG  
echo Beende Script um %TIME% am %DATE% >> C:\LOG

Gruß Hitman
foren1
foren1 20.06.2011 um 17:14:15 Uhr
Goto Top
Oh ja oh ja oh ja... wie geil ist das denn? face-smile

Viiielen Dank.
Jetzt noch die letzte Frage:

Ich habe das *.bat-File direkt auch in diesen Ordner (in welchen die Sicherungfiles gespeichert werden) abgespeichert.
Dann die Aufgabenplanung erfasst und gestartet.
Jetzt steht aber beim Status noch immer "wird ausgeführt".


Bei der manuellen Ausführung gibts folgende Meldung:
Datei öffnen - Sicherheitswarnung:
Der Herausgeber konnte nicht verifiziert werden. Möchten Sie
diese Software aufsühren?
Name: .....bat
Herausgeber: Unbekannter Herausgeber
Typ: Windows Stapelverarbeitungsdatei
Von: K\.......

Wenn ich hier auf "Ausführen" klicke, klappts problemlos.
Hitman4021
Hitman4021 20.06.2011 um 18:55:02 Uhr
Goto Top
Was istn das fürn Server

Gruß
foren1
foren1 21.06.2011 um 08:24:42 Uhr
Goto Top
Morning
Es ist ein Windows Server 2008 Standard.

Habe den Task gestern noch eingestellt, dass er jeden Tag um 0700 startet.
Heute morgen als ich kontrolliert habe, wurden auf jeden Fall die Files gesichert.

Nachdem ich in der Aufgabenplanung via Rechtsklickt auf "aktualisieren" geklickt habe,
hat sich der Status von "wird ausgeführt" in "bereit" geändert.


Bei der Ereignisanzeige (auch in der Aufgabenplanung) habe ich heute um 0700
folgende Meldungen:


Meldung 1:
Die Beschreibung für die Ereignis-ID "319" aus der Quelle "Microsoft-Windows-TaskScheduler" wurde nicht gefunden. Entweder ist die Komponente, die dieses Ereignis auslöst, nicht auf dem lokalen Computer installiert, oder die Installation ist beschädigt. Sie können die Komponente auf dem lokalen Computer installieren oder reparieren.

Falls das Ereignis auf einem anderen Computer aufgetreten ist, mussten die Anzeigeinformationen mit dem Ereignis gespeichert werden.

Die folgenden Informationen wurden mit dem Ereignis gespeichert:

S-1-5-21-3968914940-2707419533-1315639116-500:FOGAG\Administrator:Interactive:[3]
\C2 Public Folders SICHREUNG


Danach folgt Meldung 2:
Die Aufgabenplanung hat die Instanz "{75c1c3e0-7787-4dc7-8255-395fe856e50c}" der Aufgabe "\C2 Public Folders SICHREUNG" aufgrund einer Zeitauslöserbedingung gestartet.


Meldung 3:
Die Aufgabenplanung hat die Aktion "K:\Backup_C2_Public_Folders\Script_C2PublicFolders.bat" in der Instanz "{75c1c3e0-7787-4dc7-8255-395fe856e50c}" der Aufgabe "\C2 Public Folders SICHREUNG" gestartet.


Meldung 4:
Die Aufgabenplanung hat die Instanz "{75c1c3e0-7787-4dc7-8255-395fe856e50c}" der Aufgabe "\C2 Public Folders SICHREUNG" für den Benutzer "FOGAG\administrator" gestartet.


Meldung 5:
Die Aufgabenplanung hat die Aufgabe "\C2 Public Folders SICHREUNG", Instanz "C:\Windows\SYSTEM32\cmd.exe" mit der Prozess-ID 7216 gestartet.


Meldung 6:
Die Aufgabenplanung hat die Aufgabe "\C2 Public Folders SICHREUNG", Instanz "C:\Windows\SYSTEM32\cmd.exe", Instanz "{75c1c3e0-7787-4dc7-8255-395fe856e50c}", Aktion "C:\Windows\SYSTEM32\cmd.exe", erfolgreich mit Rückgabecode "0" abgeschlossen.


Meldung 7:
Die Aufgabenplanung hat die Instanz "{75c1c3e0-7787-4dc7-8255-395fe856e50c}" der Aufgabe "\C2 Public Folders SICHREUNG" für den Benutzer "FOGAG\administrator" erfolgreich fertig gestellt.


Ganz ehrlich gesagt bin ich jetzt einfach unsicher, ob da alles sauber funktioniert hat. Mir sagt das nichts aus.
Ähm eigentlich sollte der Task natürlich SICHERUNG und nicht SICHREUNG heissen face-smile
Hitman4021
Hitman4021 21.06.2011 um 08:49:06 Uhr
Goto Top
Doch das funktioniert ;)

Kannst ja kontrollieren ob der Ordner mit dem Datum immer erstellt wird face-smile

Außerdem siehst du in der Log Datei ob etwas passier ist face-smile

Gruß
foren1
foren1 21.06.2011 um 10:01:18 Uhr
Goto Top
LOG:
Starte Script um 7:00:00.45 am 21.06.2011
Beende den Dienst
Starte Kopiervorgang
Starte Dienst wieder
Beende Script um 7:00:08.44 am 21.06.2011


Und der Ordner wurde erstellt - somit hat mir nur das "wird ausgeführt" Angst gemacht.

Vielen Dank. Ich markiere nun den Beitrag als gelöst.
Gruss foren1
Hitman4021
Hitman4021 21.06.2011 um 10:28:15 Uhr
Goto Top
Immer wider gerne

Gruß