Aufgabe wird nicht ausgelöst

cumulonimbus8

Fleet Admiral
Registriert
Apr. 2012
Beiträge
19.319
Moin!

Keine Ahnung was (ja, ich habe hervorragend gepennt) Ende August vorgefallen ist, aber ein Aufgabe, eine Batchdatei, wird seitdem einfach nicht mehr gestartet. Ein einfacher Zeitplan, kein Ereignis wie Anmelden oder Systemstart.

Sie ging bis dahin hunderte Male und es hat sich an ihr und dem was ausgeführt wird nichts geändert.
Ich haben sie gelöscht und neu angelegt. Kein Fortschritt. Sie ist da, die Aufgabenplanung meint, dass alles in Butter ist - nur wird die Aufgabe nicht ausgelöst.

Was kann man da tun?

CN8
 
Hi,

Die Aufgabenplanung sagt das wirklich? So richtig mit Status bereit, naechster Laufzeit und Ergebnis 0x0?
Was macht der Tasks? Kannst Du den Task mal exportieren und hier posten?

BFF
 
Zumindest vermeldet die Aufgabenplanung keine Hilferufe zu meiner Anforderung…
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2018-02-06T09:34:04.3120872</Date>
<Author>QUEXS\CN8</Author>
<Description>queXS Datanbankdump</Description>
<URI>\queXS Datanbankdump</URI>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<StartBoundary>2018-02-06T15:30:15</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
<CalendarTrigger>
<StartBoundary>2018-02-06T03:00:03</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>S-1-5-21-2871655259-1898188389-125226400-1001</UserId>
<LogonType>InteractiveToken</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>C:\Windows\System32\cmd.exe</Command>
<Arguments>/c L:\quexsdbdump.bat</Arguments>
<WorkingDirectory>L:\quexsdbdump.bat</WorkingDirectory>
</Exec>
</Actions>
</Task>
Unlogisch scheint mir nur das WorkingDirectory - wie kann eine Batch ein Directory sein?!
Auch die UserID sollte meine sein.

Die Batch für sich funktioniert einwandfrei, auch der Task hatte früher ja gearbeitet.
Übel ist, dass ein weiteres Tool hinzukam dessen DB ich besser mal regelmäßig exportiere. Dass sich unsere Batch hier dazu anbietet sollte keinen wundern.

Eric March
 
Hallo,

Der Job sieht eigentlich ok aus, bist auf das Arbeitsverzeichnis. Meine Idee waere, die Batch in einem Verzeichnis unterzubringen und dieses Verzeichnis als Arbeitsverzeichnis zu nutzen.

> dass ein weiteres Tool hinzukam dessen

Splitte das mal in verschiedene Aufgaben. Nicht das von irgendwas kein Status gemeldet wird und der Task "Dummfug" treibt.

BFF
 
Hmtja…
Bei Licht betrachtet ist ja das Auslösen der Batch die Aufgabe, egal was da drin steht. Ob ich da noch einen Job drin unterbringe oder eine praktisch identische Aufgebe einrichte kommt mit Pech aufs selbe raus wenn die Aufgebe per se nicht ausgelöst wird.

Die besagte Batch lag immer in der Root von L, aber ich kann sie gerne mal in einem anderen Ordner unterbringen.
→ in einer guten halben Stunde sollte dieser Testtask losgehen.

Anmerkung
Ich habe da noch so ein Startproblem das sich über mehrere Rechner erstreckt. Gewisse Programme lassen sich beim Booten nicht autostarten, nicht in den Startmenüordnern, nicht per Registry und auch nicht als Aufgabe mit jeweiligem Trigger, Manuell funktioniert es.
Irgendwie stehe ich mit den Aufgaben auf Kriegsfuß…
Übrigens läuft auf dem Rechner noch eine zweite Aufgabe, wieder eine Batch, wiederum am selben Ort - und wenn der Knick in der Pupille nicht zu groß ist ist diese letzten Sonntag 21:00h gelaufen. Da muss ich mal heute aufpassen.

CN8

Ärgerlich…
Der Test-Task mit dem Unterordner springt nicht an. Ich kann ihn rechtsklicken, Ausführen, dann blitzt etwas auf und schließt sich sofort. Keine Ahnung ob das ein crashendes CMD-Fenster ist oder sonstwas. Und natürlich auch kein Ereignis in der Anzeige.
 
Zuletzt bearbeitet:
Hallo,

> Und natürlich auch kein Ereignis in der Anzeige.

Dann lass die Batch jede dritte Zeile in ein Protokoll schreiben. Dann weisst Du bis wohin die Batch kommt. ;)

Zu Deiner Anmerkung. Das kenne ich wenn eine bockige AV dazwischen funkt. Avast z.B. liess das Autostarten nicht zu, bis es selbsat komplett geladen war. Ansonsten hilft nur mit Starthelpern zu arbeiten, welche u.A. ein Protokoll irgendwo hin schreiben in eine Textdatei oder halt in das Ereignisprotokoll. Mache ich mit einigen Programmen hier, die eine funktionierende Netzwerkverbindung benoetigen und ohne die einfach ohne Mucks abrauchen. Oder halt Netzlaufwerke verbinden, aber erst wenn der Server/NAS erreichbar ist.

Kannst Du mal Namen nennen von Programmen die nicht per Autostart laufen?

> Die besagte Batch lag immer in der Root von L

Ein niedliches Update des OS kann da Einiges zerwuerfeln.

Was genau sagt eigentlich der betreffende Task als Status? Aendert sich der Status?

BFF
 
Zuletzt bearbeitet:
Dann lass die Batch jede dritte Zeile in ein Protokoll schreiben. Dann weisst Du bis wohin die Batch kommt.
Mir deucht, diese Batch kommt nicht mal zur ersten Zeile… (Selbst wenn einige Zeilen Fheler werfen würden, die Batch an sich läuft und eine echo >> Dat.ei wurde nicht ausgeführt.)
Ich mach das mal wenn ich den Kollegen nicht dazwischenfunke.

Wie auch immer - der andere Task mit einer Batch gestern Abend um 9 ist offensichtlich gelaufen. Und nun beiße ich in die Tischplatte.


Zur Anmerkung:
Eben installiere ich 7Zip V18 und erwische das ›du musst neu booten‹ mit der Maus. Als wäre es Hohn ist offenbar eine Startbatch mit mehreren Aufrufen drin korrekt gestartet worden. Ich kapiere eine gar nichts mehr.

Kannst Du mal Namen nennen von Programmen die nicht per Autostart laufen?
Code:
start "FreeWheel" "C:\Program Files (x86)\FreeWheel\FreeWheel.exe"
start "Clock" "C:\Program Files\T-Clock-Static\Clock64.exe"
start "TVB" "C:\Program Files (x86)\TV-Browser\tvbrowser.exe"

> Die besagte Batch lag immer in der Root von L
Ein niedliches Update des OS kann da Einiges zerwuerfeln.

Ist in dem Falle auszuschließen. WIN tut (so weit…) einwandfrei.

Was genau sagt eigentlich der betreffende Task als Status? Aendert sich der Status?
Welchen Status meinst du; die Spalte bei den Aufgaben? «Bereit» ist der Task. So was von Bereit…

CN8
 
Hallo,

Schade, kein Programm dabei, was ich benutze. Setze mal den Parameter /B falls noch nicht probiert.

start /B "C:\Program Files (x86)\FreeWheel\FreeWheel.exe"

Was ich meine ist gelb markiert im Bild. Ist von einer englischsprachigen W10-Maschine.

2018-02-19 12_50_28-Task Scheduler.png

Bei Dir kommt immer mehr dazu, was nicht zu erklaeren ist. Deshalb mein Tipp. Nimm Deine Batch auseinander in einzelne Jobs. Das Argument, es lief doch immer, zaehlt in der Microsoftwelt garnichts, schon garnicht bei W10. Das hab ich mehrfach durch.
Schau auch in das Ereignisprotokoll. Eventuell findet sich was.

BFF
 
GELÖST: Aufgabe wird nicht ausgelöst

Keine Ereignisse im Protokoll. (Es hat mir noch nie seit XP nützliche Infos geliefert die weiterführten.)

Dein Instinkt war übrigens richtig: «Der Verzeichnisname ist ungültig 0x8007010B»
Und doch nicht nachzuvollziehen wie das kommen kann - das Ausführungsverzeichnis war doch tatsächlich «L:\quexsdbdump.bat»!! Unerklärlich. So blöd bin ich nun wirklich nicht.

Zur Bestätigung: Befehlsfeld und Argumentefeld addiert und an WIN+R verfüttert hat funktioniert.

Aber es wird noch besser: ich habe den Unfug oben korrigiert und plötzlich heißt es nach manuellem Anstupsen: «Die Aufgabe wurde erfolgreich ausgeführt» - eine satte Lüge, aus Sicht des zu erzielenden Resultates.

Lust auf weitere Verrücktheiten? Ich habe unsere Batch mit den erwähnten ECHOs gespickt. Alles wird bis zur letzten Zeile geschrieben, darunter Variablen gefüllt - nur der essentielle Befehl wurde nicht abgesetzt.

Die Batch:
@echo off

echo GO1 >> c:\Aktion\quexsdbdumpliste.dat

if %date:~2,1% == . (
::TT.MM.JJJJ
set jhr=%date:~6,4%
set mon=%date:~3,2%
set tag=%date:~0,2%
) else (
::JJJJ-MM-TT
set jhr=%date:~0,4%
set mon=%date:~5,2%
set tag=%date:~8,2%
)
set std=%time:~0,2%
if "%std:~0,1%" == " " set std=0%std:~1,1%
set min=%time:~3,2%
set sek=%time:~6,2%

echo GO2 >> c:\Aktion\quexsdbdumpliste.dat

L:\xampp\mysql\bin\mysqldump.exe quexs -h localhost -uroot > i:\quexs\quexsdump-%jhr%-%mon%-%tag%-%std%-%min%-%sek%.sql

echo %jhr%-%mon%-%tag%-%std%-%min%-%sek%>> c:\Aktion\quexsdbdumpliste.dat
Der MySQLDump-Befehl wird nicht ausgeführt. Das Protokoll vom GO1 bis zum Zeitstempel aber korrekt ausgefüht. (I übrigens ist ein Serverlaufwerk.)

Ach du Sch…ande!!!
Das Serverlaufwerk!! Ein Novell-Server. Ich habe «mit höchsten Privilegien» ausgeführt - und aus irgendwelchen Gründen kann keine CMD mit Admin-Status auf den Server zugreifen. Eine normale CMD kann das. Das hatte ich vergessen weil mich das schon mal auf einer anderen 10er-Maschine verrückt gemacht hat. Ein Häkchen raus, und es geht.

Fall gelöst.
Fehler bei mir weil ich nicht alle kleinen Zusatzinformationen gegeben habe. Sorry.

CN8
 
Zuletzt bearbeitet:
AW: GELÖST: Aufgabe wird nicht ausgelöst

Halleluja! :D

Mach Dir nen grossen Spickzettel an die Wand bzw. trag das in Deine persoenliche Wiki ein. :)

Danke fuer die Rueckinformation.

BFF
 
Zurück
Oben