Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

CMD-Skript läuft nur manuell vernünftig, nicht aber im Taskplaner

Empfohlene Antworten

Servus,

ich habe hier ein Problem mit dem Taskplaner von Win2000.

Ausgangssituation:

Ein Datenbankserver macht täglich um 6:00 ein Backup. Dieses wird fertig, das erzeugte File existiert.

Ein Skript muss dieses Backup nun mittels normaler Netzwerkfreigabe (Netzlaufwerk) diese Datei auf einen entfernten Rechner kopieren.

Problem:

Dieses Skript wird ebenfalls automatisch im Taskmanager um 7:00 gestartet. Allerdings wird kein Netzlaufwerk verbunden und auch die Datei wird nicht kopiert.

Starte ich das CMD-skript jedoch manuell, läuft alles so wie es soll.

Hört sich nach Rechteproblem an, allerdings kann ich es nicht nachvollziehen: lasse ich das Skript im Taskplaner unter meiner UID laufen, funktioniert es ebenfalls nicht.

hm, der task wird nicht mehr beendet, sonst alles beim alten.

Ist ja auch klar, da pause auf eine Eingabe wartet.

Das war ja auch beabsichtigt, dass die Eingabeaufforderung stehen/geöffnet bleibt, so dass man die Fehlermeldungen lesen kann.

Ist denn was zu erkennen oder werden alle Befehle "sauber" und ohne Fehler abgearbeitet ?

Problem:

...

Allerdings wird kein Netzlaufwerk verbunden und auch die Datei wird nicht kopiert.

...

Hast Du in deinem Script eine net use drin oder verwendest Du eine Netzlaufwerk, dass per Login-Script für den User verbunden wird?

Weil wenn das Script über den Taskplaner ausgeführt wird werden die Loginscripte nicht ausgeführt.

Lösung:

UNC-Pfade verwenden oder das Laufwerk in dem Script direkt verbinden.

  • 2 Wochen später...

Ja, "net use" ist drin, Netzlaufwerk wird direkt im Script verbunden.

Das Problem liegt aber definitiv nicht am Script selbst, dieses läuft Fehlerfrei, wenn ich es manuell starte.

Sobald es aber über den Taskplaner läuft, passiert garnichts mehr...

Das Script schreibt ein Logfile.

Der Erste Lauf ist Manuell, der zweite Automatisch.

-------------------------- 

PLZ JOB am Mo 26.06.2006: 

Verbindung trennen und herstellen, falls anderweitig verbunden: 

Der Befehl wurde erfolgreich ausgefÂhrt.


Alte Backups auf Internethost entfernen: 

Neues Backup kopieren (Datei=d:\Programme\IDA-dirx-V6_5\backup\nachher-Mo 26.06.2006backup): 

D:\Programme\IDA-dirx-V6_5\backup\nachher-Mo 26.06.2006backup

1 Datei(en) kopiert

Verbindung wieder trennen: 

fertig 

-------------------------- 

PLZ JOB am Mo 26.06.2006: 

Verbindung trennen und herstellen, falls anderweitig verbunden: 

Alte Backups auf Internethost entfernen: 

Neues Backup kopieren (Datei=d:\Programme\IDA-dirx-V6_5\backup\nachher-Mo 26.06.2006backup): 

0 Datei(en) kopiert

Verbindung wieder trennen: 

fertig 

-------------------------- [/code]




Das Script: (IP ersetzt durch **IP_Adresse**, Passwörter durch **pass** ersetzt, Usernamen durch **user** ersetzt)

[code]echo on set datum=%date% set logfile=C:\plz.log echo -------------------------- >> %logfile% echo PLZ JOB am %date%: >> %logfile% echo Verbindung trennen und herstellen, falls anderweitig verbunden: >> %logfile% c:\winnt\system32\net use i: /DELETE /y >> %logfile% sleep 3 c:\winnt\system32\net use i: \\**IP-Adresse**\e$ **pass** /USER:**user** >> %logfile% sleep 10 echo Alte Backups auf Internethost entfernen: >> %logfile% del /F /Q "i:\Programme\IDA-dirx-V6_5\backup\nachher*" >> %logfile% echo Neues Backup kopieren (Datei=d:\Programme\IDA-dirx-V6_5\backup\nachher-%datum%backup): >> %logfile% c:\winnt\system32\xcopy "d:\Programme\IDA-dirx-V6_5\backup\nachher-%datum%backup" "i:\Programme\IDA-dirx-V6_5\backup" /Y /C >> %logfile% echo Verbindung wieder trennen: >> %logfile% REM c:\winnt\system32\net use i: /DELETE /y >> %logfile% echo fertig :) >> %logfile% REM pause

Wie gesagt, manuell klappt es, nur im Taskplaner nicht.

... keiner der Windows-Scriptler eine Idee?

...das logfile steht zwei Beiträge drüber :)

Und das Taskplaner-logfile gibt garnichts her (sowas wie: "Der Job wurde mit Ergbniswert 0 beednet")

ups sorry. nich gesehn.

das sind ja auch nur deine ausgaben.

mach mal folgendes:

script a

dein inhalt :D

script b:

cmd scripta >>logfile-b

und ruf mit dem taskplaner das script b auf.

das dann eben das script a aufruft.

fehler u.ä. werde nicht nach stdout geschrieben. die landen meistens doch in der dos-box. auch wenn man mit >>logfile umleitet.

mit dem verschachtel-trick klappts aber das alle infos im logfile stehen.

kk, ich werde das testen und dann hier posten... vermutlich heut nachmittag.

Danke für den Trick!

Ok, der test hat auch nichts bewirkt...

Ich habe jetzt nochmal eine Änderung eingebaut, morgen früh weis ich mehr.

wann wird das script den ausgeführt?

ich hatte auchmal so ein skript welches direkt beim start per "net use"

ausführen sollte.

leider kommt windows damit nicht klar(wahrscheinlich weil die entsprechenden dienste sehr sehr lange brauchen)

meine lösung war dann ein programm namens sleep.exe womit ich dann die ganze sache um 20 sekunden verzögert hatte.

evtl hilft dir das ja weiter

gruß stegy

Nein, hilft nicht weiter - das Script läuft täglich, der server ist schon eine ganze weile "up".

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.