14. Juni 200619 j 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.
14. Juni 200619 j Füge doch mal in der letzten Zeile der Batchdatei den Befehl "pause" ein und führe den geplanten Task im Task-Manager aus. Jetzt sollten die Fehlerausschriften zu lesen sein...
14. Juni 200619 j hm, der task wird nicht mehr beendet, sonst alles beim alten. Ist ja auch klar, da pause auf eine Eingabe wartet.
14. Juni 200619 j 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 ?
15. Juni 200619 j 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.
26. Juni 200619 j 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...
26. Juni 200619 j 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.
3. Juli 200619 j poste mal das logfile von einem nicht funktionierenden versuch per taskplaner. danke gruss Enno
3. Juli 200619 j ...das logfile steht zwei Beiträge drüber Und das Taskplaner-logfile gibt garnichts her (sowas wie: "Der Job wurde mit Ergbniswert 0 beednet")
3. Juli 200619 j ups sorry. nich gesehn. das sind ja auch nur deine ausgaben. mach mal folgendes: script a dein inhalt 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.
3. Juli 200619 j kk, ich werde das testen und dann hier posten... vermutlich heut nachmittag. Danke für den Trick!
4. Juli 200619 j Ok, der test hat auch nichts bewirkt... Ich habe jetzt nochmal eine Änderung eingebaut, morgen früh weis ich mehr.
4. Juli 200619 j 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
5. Juli 200619 j 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.