Donnerstag, 4. August 2011

Windows Server 2008 - Aufgabenplanung

Vor kurzem bin ich über die Windows Server 2008 Aufgabenverwaltung gestolpert. Es gab auf dem Server eine kleine CMD (oder wahlweise auch BAT)-Datei um ein Backup zu automatisiseren. In der CMD-Box hat das Ding auch einwandfrei funktioniert. In der 2008er Aufgabenplanung jedoch nicht...

Des Rätsels Lösung ist, dass man in der CMD oder BAT-Datei die man erstellt hat keine Bildschirm-Ausgaben (echo bzw. Ausgaben von cmd wie "1 Datei kopiert") machen darf, wenn man das Ding in die Aufgabenverwaltung steckt. Da die Tasks in der Aufgabenverwaltung "ohne Fenster" laufen, könnte eine mögliche echo-Ausgabe auch nirgendwohin etwas schreiben. Folge, Sie bricht ab und es gibt in der Aufagabenverwaltung einen Fehler 0x1 oder etwas in der Art.

Eure BATCH-Datei sollte dann zwecks echo in etwa so aussehen:

@echo off
copy c:\Programme\Programm1\wichtigesfile.xxx c:\backup > c:\tmp\log.txt
xcopy "c:\programme\Programm1\Data" /i /e /y "c:\backup\Data" >> c:\tmp\log.txt

Der zweite Knackpunkt sind die Recht, d.h. der User unter dem der Task läuft sollte die entsprechenden Rechte auf die Verzeichnisse/Files usw. haben. Hier gibt es in der Aufgabenplanung die Möglichkeit "mit höchten Privilegien ausführen". Das sollte helfen. Daneben noch wichtig der Punkt "Unabhängig von der Benutzerverwaltung ausführen", damit der Task auch läuft wenn kein Benutzer an der Konsole angemeldet ist.


Kommentare:

  1. Finally! Das war die Antwort nach der ich gesucht hatte, nachdem ich schon in x Foren geschaut hatte. Vielen Dank!!!

    AntwortenLöschen
  2. Hallo,
    was ist aber, wenn die batch oder auch Cmd ein weiteres Programm aufruft, welches eine
    GUI - Aktion auslöst (Programmfenster öffnet sich)???
    So z. B. bei uns der Fall, da ein Programm, welches eine Abfrage auf einer Datenbank macht, geöffnet wird u. dann auch *.csv - Dateien mit dem Ergebnis dieser Abfrage erstellt.
    Andere Faktoren wie fehlende Rechte oder nicht richtig Konfiguration des enstprechenden Task könne wir ausschließen !!!

    AntwortenLöschen
    Antworten
    1. das ist genau das was ich auch wissen will ;-)

      Löschen
    2. das ist genau das was ich auch wissen will ;-)

      Löschen
  3. Besten Dank für die Info - war schon am verzweifeln!

    AntwortenLöschen
  4. Eventuell noch ein Tipp: Wenn es z. B. ein Copy befehl ist und das Ziel ein Netzwerklaufwerk (z. B. NAS) dann hilft es auch, den Netzwerkpaf anzugeben und nicht die Verknüfpgung.
    Also bei mir schaut es so aus und funktioniert jetzt super
    @echo off
    copy c:\datenbank.bak \\192.168.xxx.xxx\datenbank_backup /y >c:\temp\log.txt

    AntwortenLöschen