Pianifica attività di Windows ogni minuto


13

Devo pianificare un'attività di Windows per eseguire uno script ogni minuto. Nella maggior parte dei casi, lo script non deve eseguire nulla ed esiste immediatamente. Quando lo script deve eseguire qualcosa, voglio che inizi il lavoro il più rapidamente possibile, quindi l'intervallo di un minuto.

Ora, l'interfaccia utente di Windows Scheduler è diventata piuttosto confusa negli ultimi anni, quindi non sono sicuro di quale sia il modo migliore per eseguire un'attività ogni minuto (o 5 minuti ..) su Windows 2008 R2.

È questo il modo migliore per pianificare un'attività in Windows ogni minuto? È affidabile? Si avvia direttamente dopo il riavvio di una macchina o viene riavviato solo alle 12:00? Si prega di notare che non posso usare / scrivere un'applicazione di servizio personalizzata per questo, poiché ho bisogno che sia molto portatile.


No, non è il modo migliore. Dovresti usare una funzione sleep o wait nel tuo script.
Joseph Kern,

Risposte:


4

Sì, questo servizio verrà eseguito dopo il riavvio, è possibile verificarlo nel registro delle transazioni del servizio Utilità di pianificazione:

    Systemroot \ SchedLgU.txt

    (dove Systemroot è la cartella di installazione di Windows)

Se non funziona correttamente (in XP, non sei sicuro circa l'equivalente del 2008):

    
    Pannello di controllo -> Strumenti di amministrazione -> Servizi -> Utilità di pianificazione 

    Imposta su auto. 

2008 Documentazione qui , XP Documentazione qui

La pianificazione dell'attività inizia all'ora specificata, quindi viene eseguita in base ai parametri di ripetizione. L'ora di inizio può essere considerata come tempo di "installazione attività", non fa parte dei parametri di ripetizione (tranne come offset del timer). Spero che abbia un senso!


In realtà intendevo dire che se la macchina è stata riavviata, l'attività viene riavviata direttamente dopo il riavvio o viene riavviata solo alle 12:00, come specificato nella GUI? Devo eseguire l'attività ogni minuto, indipendentemente dal riavvio della macchina, ecc.
Dennis G.,

E come posso fare se un'attività è stata eseguita? È registrato da qualche parte nel registro eventi? Non riesco a trovare alcuna voce nel registro. Grazie.
Dennis G.,

Risposta aggiornata per chiarimenti
Andy,

18

Ho avuto lo stesso requisito. In Server 2008, puoi effettivamente modificare l' attività Ripeti ogni: menu a discesa. Per impostazione predefinita, il valore più basso è "5 minuti" , ma puoi semplicemente digitare "1 minuto" . Puoi verificarlo guardando la scheda Trigger e vedendo che dice "... ripeti ogni 00:01:00 ..." . Puoi anche provare a digitare "10 secondi" e otterrai un errore che ti dice di scegliere qualcosa di più grande di 1 minuto.


3
Questa era la parte della domanda a cui ero interessato. Posso confermare che funziona ancora nel 2012 R2.
Melikoth,

8

Sono in grado di programmare un'attività da ripetere una volta al minuto con la riga di comando "schtasks". Un esempio del codice è:

schtasks / create / sc minute / mo 1 / tn "Nome attività" / tr c: \ temp \ nomefile.exe

L'attività viene visualizzata nella GUI di Windows 2008 R2 e viene eseguita una volta al minuto. L'attività deve essere creata e modificata con l'utilità "schtasks" della riga di comando.

Sfortunatamente, Microsoft ha progettato follemente l'utilità di pianificazione di Windows 2008 R2, lasciando cadere la configurazione flessibile trovata nell'Utilità di pianificazione di Windows 2003, a favore di alcune scelte limitate per gli intervalli.

davephan


Questo funziona su Win7. Grazie.
Vladimir Vukanac,

-1

prova questo, ha funzionato per me ...

REM ================================================= ===============

REM # MAINBODY

REM ================================================= ==============

se "% 1" == "" echo Utilizzo: - C: \ scripts \ port_schtask.cmd ^ ^ &&% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul && esci

se non esiste C: \ scripts \ port.bat echo Utilizzo: - Il file NON esiste C: \ scripts \ port.bat &&% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul && exit

% SystemRoot% \ system32 \ schtasks / delete / tn "port.bat% 1% 2" / f

% SystemRoot% \ system32 \ schtasks / create / tr "C: \ scripts \ port.bat% 1% 2" / SC MINUTE / MO 1 / tn "port.bat% 1% 2" / RU "SYSTEM"

% SystemRoot% \ system32 \ SCHTASKS / run / TN "port.bat% 1% 2"

% SystemRoot% \ system32 \ SCHTASKS |% SystemRoot% \ system32 \ find.exe "port.bat% 1% 2"

% SystemRoot% \ system32 \ schtasks / query / TN "port.bat% 1% 2"

% SystemRoot% \ system32 \ ping 127.0.0.1 -n 10> nul

rem ------------------------------------------------- -----

saluti RJB


Perché stai eseguendo azioni irrilevanti come eseguire il ping di localhost?
tu-Reinstate Monica-dor duh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.