markus-so
Goto Top

Aufgabenplanung

Hallo!

Seit längerem lasse ich mithilfe von Robocopy automatisch Backups auf eine externe Festplatte machen. Das ganze wird mit einem kleinen Script in einer vbs-Datei, die im Autostart-Ordner liegt, gestart und läuft im Hintergrund ohne dass ich es merke.

Das Problem dabei ist allerdings, dass meine externe Festplatte nicht immer beim Systemstart eingeschaltet ist. Sie hängt an einer Master-Slave-Steckdose und schaltet sich demnach ab, wenn sich der Computer ebenfalls abschaltet. Nur dass sie nicht so einen schönen Kippschalter zum einschalten hat , sondern einen kleinen Druckknopf, den man dann jedes mal drücken muss. Also wird sie meistens so 10 min nach Systemstart irgendwann von mir eingeschaltet.

Wenn robocopy allerdings meine Festplatte nicht gefunden hat, stoppt das Backup direkt, also muss ich es meistens doch immer manuell starten.

Jetzt möchte ich gerne mithilfe der Aufgabenplanung von Windows einrichten, dass die Backups gestartet werden, wenn die Festplatte angeschlossen ist. Nur kenne ich mich mit den Einstellungen absolut nicht aus.

Ich sehe, dass man hier verschiedene Trigger einstellen kann. Auch habe ich da eine Einstellung gefunden "wenn aufgabe gescheitert ist, nach xx min erneut versuchen". Wenn ich dem Ding also irgendwie sagen könnte, wann dass die Aufgabe gescheitert ist, wenn das Programm sofort wieder schließt, würde eine solche Einstellung ja schon vollkommen reichen.

Also zusammenfassend:
- Entweder: Ich möchte in der Aufgabenplanung einstellen, dass ein bestimmtes Programm nach Systemstart gestartet wird. In der Regel beendet sich dieses Programm aber meistens sofort wieder, da eben die Festplatte noch nicht da ist. Also soll die Aufgabe nach 30 min nochmal gestartet werden, falls sie fehlgeschlagen ist, usw.
- Oder: Die Aufgabe soll gestartet werden, sobald ein bestimmtes Laufwerk zum ersten mal aufgetaucht ist. Es darf aber nicht passieren, dass das Programm plötzlich 3 mal gleichzeitig läuft, wenn ich gerade 3 mal das USB-Kabel gezogen und wieder reingesteckt habe.

Wäre super, wenn Ihr da ein paar Tipps habt!

Gruß Markus

//edit: Falls es da Unterschiede in der Aufgabenplanung bei verschiedenen Windows-Versionen gibt: Ich habe Windows 7.

Content-Key: 146586

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

Printed on: April 24, 2024 at 02:04 o'clock

Member: Connor1980
Connor1980 Jul 09, 2010 at 10:23:12 (UTC)
Goto Top
Hallo,

dann erstell doch einfach eine Aufgabe. Wo ist das Problem? Aufgabenplanung->neue Aufgabe->Starten bei Anmeldung, z.B. Verzögern einstellen, oder Wiederholen oder unter Einstellungen "falls scheiter, neu starten" einen Zeitintervall einstellen... face-smile

Grüße
Member: markus-so
markus-so Jul 09, 2010 at 10:27:05 (UTC)
Goto Top
Naja, was heißt denn scheitern? Wenn die Aufgabe gestartet wird und das entsprechende Programm sofort wieder schließt... Merkt die Aufgabenplanung dann, dass das gescheitert ist? Wurde ja schließlich ausgeführt.
Mitglied: 90776
90776 Jul 09, 2010 at 10:41:45 (UTC)
Goto Top
Hallo markus_so

Batch im autostart welches prüft ob externe festplatte eingeschaltet ist
wenn ja Sicherung starten
wenn nein warten und nochmals testen

Gruss Switcher
Member: Matthias-Wenig
Matthias-Wenig Jul 09, 2010 at 14:30:05 (UTC)
Goto Top
ne autorun auf der festplatte ...?
Member: markus-so
markus-so Jul 09, 2010 at 14:54:35 (UTC)
Goto Top
Wie mache ich das?

Gruß Markus
Member: markus-so
markus-so Jul 09, 2010 at 16:17:21 (UTC)
Goto Top
ok, ich habe mich mal mit google schlau gemacht, wie das mit autorun funktioniert und ich finde die methode absolut unschön. außerdem blockiert das mein virenscanner und das finde ich auch im prinzip gut so.

hilfreicher fänd ich es also, wenn mir jemand erklären kann, wie man einen trigger so definiert, dass der also auslöst, sobald das entsprechende laufwerk dazu kommt. oder wie man der aufgabenplanung, wie gesagt, erklären kann, wann die aufgabe fehlgeschlagen ist (also nicht bei erfolgreichem programmstart, sondern wenn das programm eine bestimmte fehlermeldun ausspuckt).

oder ist das alles nicht so einfach?
Member: Connor1980
Connor1980 Jul 09, 2010 at 17:03:29 (UTC)
Goto Top
Hallo

Beim einstöpseln/anmachen der Festplatte müsste ein Ereigniseintrag im Systemprotokoll gemacht werden. Du kannst in der Aufgabenplanung einen Trigger "Bei einem Ereignis" setzen. Diesem Trigger gibst du einem Benutzerdefinierten Ereignisfilter. Soweit die Theorie, ich habs nicht getestet.

Grüße von Tante Edith:
bei mir wird beim Einstöpseln einer USB-Festplatte ein System-Eventlog erzeugt mit dem Text "Dienst "Enumeratordienst für tragbare Geräte" befindet sich jetzt im Status "Ausgeführt".", Quelle Service Control Manager, EventID 7036.

Danach ließe sich filtern, kein Problem (Allerdings nur manuell über XPath, nicht per GUI). Der Dienst wird nach ca. 2 Minuten wieder deaktiviert "Dienst "Enumeratordienst für tragbare Geräte" befindet sich jetzt im Status "Beendet"." Leider ist das Ganze etwas unzuverlässig, ein einstöpseln eines anderen USB-Datenträgers hat denselben Ereigniseintrag verursacht.

Leider weiß ich nicht, wo ich drehen muss um einen Ereignisprotokolleintrag zu erzeugen, der nur durch einstöpseln dieser Festplatte erzeugt wird. So ist der Weg leider nicht eindeutig.

Ich denke das einfachste dürfte es sein, den Kopiervorgang per Autorun oder manuell zu starten.

Grüße
Member: DerWoWusste
DerWoWusste Jul 09, 2010 at 20:26:30 (UTC)
Goto Top
Weitere Möglichkeit: Schreib in Dein Skript
echo Platte an!
pause

und fertig.
Mitglied: 90776
90776 Jul 10, 2010 at 13:18:13 (UTC)
Goto Top
Sorry
habs nicht so gemeint

Im windows-autostart ein script, dass prüft, ob die festplatte angeschaltet ist,
wenn ja Sicherung starten
wenn nein wiederholen

Grüsse
Switcher