none
Scheduled Task in Windows 2008 R2 non esegue i bat? RRS feed

  • Domanda

  • Ciao,

    Ho uno script .bat che, se lanciato con il doppio click, funziona. Ho provato a schedularlo tramite lo Scheduled Task del 2008 R2 e si blocca con un Invalid filename ?

    A parte che la configurazione dello Scheduler non e' proprio intuitiva, infatti ho seguito questo articolo :

    http://nolabnoparty.com/eseguire-file-batch-con-windows-2008-task-scheduler/

    dove nella sezione Action si deve impostare :

    Program/script: cmd.exe
    Add arguments: /C “Path Script(nell’esempio /C C:\Scripts\reboot.bat)

    Dove ho sbagliato?

    Grazie

     

    mercoledì 19 ottobre 2011 14:29

Risposte

  • Prova a inserire i percorsi assoluti per i file nel batch...

    Ciao

     


    Andrea Sistarelli
    MCT-MCSE-MCTS-CCNA
    • Proposto come risposta Fabrizio Volpe giovedì 20 ottobre 2011 09:01
    • Contrassegnato come risposta Fabrizio Volpe giovedì 20 ottobre 2011 10:17
    giovedì 20 ottobre 2011 06:50
  • > Prova a inserire i percorsi assoluti per i file nel batch...

    oppure, all'inizio del batch

    SET PATH=%PATH%;....

    dove quel ... dovrà contenere i vari percorsi aggiuntivi separati da ";"
    il problema nasce dal fatto che, molto probabilmente, l'account
    usato per eseguire il job schedulato non ha le stesse impostazioni
    PATH usate dall'utente "interattivo"

    • Proposto come risposta Fabrizio Volpe giovedì 20 ottobre 2011 09:01
    • Contrassegnato come risposta Fabrizio Volpe giovedì 20 ottobre 2011 10:17
    giovedì 20 ottobre 2011 07:35

Tutte le risposte

  • Hai configurato il job per usare un utente con i diritti sufficienti ad eseguire il file batch?


    Ciao

     


    Andrea Sistarelli
    MCT-MCSE-MCTS-CCNA
    mercoledì 19 ottobre 2011 15:53
  • L' Utente e' l' Administrator. Infatti il batch parte ( vedo la finestra dos ) solo che se viene lanciato a mano funziona ma tramite il task no:

    1) Lanciato a mano:

    C:\DatabaseDNN\Backup>SETLOCAL

    C:\DatabaseDNN\Backup>SET BKPFILENAME=MyDB

    C:\DatabaseDNN\Backup>SET BKPEXT=bak

    C:\DatabaseDNN\Backup>SET MONTH=10

    C:\DatabaseDNN\Backup>SET DAY=19

    C:\DatabaseDNN\Backup>SET YEAR=2011

    C:\DatabaseDNN\Backup>SET HOUR=16

    C:\DatabaseDNN\Backup>SET MINUTE=21

    C:\DatabaseDNN\Backup>SET SECOND=14

    C:\DatabaseDNN\Backup>SET BKPFILE=MyDB-2011-10-19-16-21-14.bak

    C:\DatabaseDNN\Backup>SQLCMD -S (local) -i BKPMyDB.sql
    10 percent processed.
    20 percent processed.
    30 percent processed.
    40 percent processed.
    50 percent processed.
    60 percent processed.
    70 percent processed.
    80 percent processed.
    90 percent processed.
    Processed 1080 pages for database 'MyDB', file 'MyDB' on file 1.
    100 percent processed.
    Processed 1 pages for database 'MyDB', file 'MyDB_log' on file 1.
    BACKUP DATABASE successfully processed 1081 pages in 0.440 seconds (19.193 MB/se
    c).
    The backup set on file 1 is valid.
    -----------------------------------------------------------

     

    2) Lanciato dal task scheduler:

     

    C:\Windows\system32>SETLOCAL

    C:\Windows\system32>SET BKPFILENAME=MyDB

    C:\Windows\system32>SET BKPEXT=bak

    C:\Windows\system32>SET MONTH=10

    C:\Windows\system32>SET DAY=20

    C:\Windows\system32>SET YEAR=2011

    C:\Windows\system32>SET HOUR= 2

    C:\Windows\system32>SET MINUTE=00

    C:\Windows\system32>SET SECOND=00

    C:\Windows\system32>SET BKPFILE=MyDB-2011-10-20- 2-00-00.bak

    C:\Windows\system32>SQLCMD -S (local) -i BKPMyDB.sql
    Sqlcmd: 'BKPMyDB.sql': Invalid filename.

     

     

    giovedì 20 ottobre 2011 06:49
  • Prova a inserire i percorsi assoluti per i file nel batch...

    Ciao

     


    Andrea Sistarelli
    MCT-MCSE-MCTS-CCNA
    • Proposto come risposta Fabrizio Volpe giovedì 20 ottobre 2011 09:01
    • Contrassegnato come risposta Fabrizio Volpe giovedì 20 ottobre 2011 10:17
    giovedì 20 ottobre 2011 06:50
  • > Prova a inserire i percorsi assoluti per i file nel batch...

    oppure, all'inizio del batch

    SET PATH=%PATH%;....

    dove quel ... dovrà contenere i vari percorsi aggiuntivi separati da ";"
    il problema nasce dal fatto che, molto probabilmente, l'account
    usato per eseguire il job schedulato non ha le stesse impostazioni
    PATH usate dall'utente "interattivo"

    • Proposto come risposta Fabrizio Volpe giovedì 20 ottobre 2011 09:01
    • Contrassegnato come risposta Fabrizio Volpe giovedì 20 ottobre 2011 10:17
    giovedì 20 ottobre 2011 07:35
  • Ok, funziona. Ho provato con l'indirizzo assoluto.

    Grazie a tutti.

     

    giovedì 20 ottobre 2011 09:15
  • perchè BKPMyDB.sql non lo trova in C:\Windows\system32 perchè sta in C:\DatabaseDNN\Backup
    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org
    giovedì 20 ottobre 2011 09:24
    Moderatore
  • Si, in effetti, solo che mi aspettavo che lo Schedule lanciasse il bat come lo lancio io a mano. In ogni caso ho specificato il percorso assoluto nel batch ed ha funzionato...

     

    Grazie

    giovedì 20 ottobre 2011 10:08
  • Ok, funziona. Ho provato con l'indirizzo assoluto.

    E come al solito qualcun'altro deve evidenziare le risposte corrette

    :-P


    Fabrizio Volpe
    MVP Directory Services
    MCSE (NT4)(2000)(2003) - MCSA (2003)
    MCTS (SQL 2005)(Exchange 2007)(Windows 2008)
    VMware Certified Professional on vSphere 4
    Fortinet Certified Network Security Professional (FCNSP)
    Fabrizio[_dot_]Volpe[_at_]GMX[_dot_]com
    giovedì 20 ottobre 2011 10:18
  • Hum vero, scusa, ma stavo attendendo che tutto si stabilizzasse .... voi siete troppo veloci :-)
    giovedì 20 ottobre 2011 12:09
  •  .... voi siete troppo veloci :-)


    ruffiano! :-)

     


    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org
    giovedì 20 ottobre 2011 12:58
    Moderatore
  • No, vero, pero' talvolta siete un po' permalosetti... :-)
    giovedì 20 ottobre 2011 13:16
  • No, vero, pero' talvolta siete un po' permalosetti... :-)

    Non sai quanto :-)
    Fabrizio Volpe
    MVP Directory Services
    MCSE (NT4)(2000)(2003) - MCSA (2003)
    MCTS (SQL 2005)(Exchange 2007)(Windows 2008)
    VMware Certified Professional on vSphere 4
    Fortinet Certified Network Security Professional (FCNSP)
    Fabrizio[_dot_]Volpe[_at_]GMX[_dot_]com
    giovedì 20 ottobre 2011 13:18
  • No, vero, pero' talvolta siete un po' permalosetti... :-)

    Senti "Pilo90"; ti prego, evita di svegliare il can che dorme; se siamo "permalosetti" come dici tu, evidentemente ci sono dei validi motivi; evitiamo le prese per i fondelli gratuite visto che non credo siano appropriate nè, tantomeno opportune, specie nel caso di una persona che ha praticamente detto di "non aver tempo per imparare"

    buona serata

     

     

     

    giovedì 20 ottobre 2011 14:09
  • Si, in effetti, solo che mi aspettavo che lo Schedule lanciasse il bat come lo lancio io a mano.

    Se è schedulato non è lanciato a mano ed in qualsiasi caso, la differenza in questo caso, NON è quella ma, del resto, credo non abbia senso spiegartela dato che comunque hai abbondantemente dimostrato già in passato di fregartene di imparare qualcosa, a te basta trovare una soluzione che funzioni, poi il come/perchè funziona non ti interessa

     

    giovedì 20 ottobre 2011 14:12
  • Non e' vero, questa volta ho capito che il task dello scheduler non riesce a trovare il file contenuto nel .bat perche' non avendo il percorso assoluto non sapeva dove trovarlo.

    Visto che ogni tanto imparo qualcosa pure io? :-)

    giovedì 20 ottobre 2011 14:41