The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Si prega di inviare mail di attivazione .. bvijaycom Forum di Supporto Area per utenti non registrati e account Problemi 1 05-19-2008 05:18 AM
Attivazione jamalwil7 Forum di Supporto Area per utenti non registrati e account Problemi 0 05-15-2008 04:20 PM
Problema Attivazione account MIKU Forum di Supporto Area per utenti non registrati e account Problemi 1 08-09-2007 06:17 AM
Non ha ricevuto mail di attivazione pl_cyber Forum di Supporto Area per utenti non registrati e account Problemi 0 05-30-2007 12:09 AM
Wireless ipw2200 attivazione XinU * UNIX e avanzata per utenti esperti 4 01-21-2007 01:25 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 02-03-2008
Raynon Raynon is offline
Utente Registrato
  
 

Join Date: Sep 2006
Ubicazione: SG
Interventi: 350
Attivazione crontab

Hi All,

Ho fissato un crontab per eseguire uno script ad una frequenza di 10 minuti.
Tuttavia, se lo script richiede più di 10 minuti per completare, come si comporta il crontab?
1) Se si ignora il processo in corso e riavviare l'intero processo di nuovo?
2) O non si fermerà ad innescare nuovamente a meno che lo script precedente procedura è stata completata?
  #2 (permalink)  
Old 02-03-2008
Smiling Dragon's Avatar
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Disorganizzato utente
  
 

Iscriviti Data: novembre 2007
Luogo: Nuova Zelanda
Interventi: 922
Post

Citazione:
Originalmente inviato da Raynon View Post
Hi All,

Ho fissato un crontab per eseguire uno script ad una frequenza di 10 minuti.
Tuttavia, se lo script richiede più di 10 minuti per completare, come si comporta il crontab?
1) Se si ignora il processo in corso e riavviare l'intero processo di nuovo?
2) O non si fermerà ad innescare nuovamente a meno che lo script precedente procedura è stata completata?
Dipende dalla vostra applicazione di cron, ma generalmente si esegue un'altra copia dello script 10 minuti dopo il primo è cominciato - per quanto a lungo la prima esecuzione prende.

Soluzioni:
  • Rendi il tuo script rientrante - vale a dire lo scriva tale che esegue più volte in una sola volta non è un problema.
  • Rendi il tuo script consapevoli di come tante volte è attualmente in esecuzione - vale a dire creare un file di lock quando si avvia e controlla per questo ogni volta che si avvia.
  • Non usare cron, hanno eseguito lo script di continuo e gestire la propria programmazione - ovvero il sonno 600
  • Non usare cron, ottenere una migliore scheduler - a seconda del vostro ambiente, questo potrebbe essere qualcosa di simile o di controllo anacron-m.
  #3 (permalink)  
Old 02-04-2008
Raynon Raynon is offline
Utente Registrato
  
 

Join Date: Sep 2006
Ubicazione: SG
Interventi: 350
Citazione:
Originalmente inviato da Smiling Dragon View Post
Dipende dalla vostra applicazione di cron, ma generalmente si esegue un'altra copia dello script 10 minuti dopo il primo è cominciato - per quanto a lungo la prima esecuzione prende.

Soluzioni:
  • Rendi il tuo script rientrante - vale a dire lo scriva tale che esegue più volte in una sola volta non è un problema.
  • Rendi il tuo script consapevoli di come tante volte è attualmente in esecuzione - vale a dire creare un file di lock quando si avvia e controlla per questo ogni volta che si avvia.
  • Non usare cron, hanno eseguito lo script di continuo e gestire la propria programmazione - ovvero il sonno 600
  • Non usare cron, ottenere una migliore scheduler - a seconda del vostro ambiente, questo potrebbe essere qualcosa di simile o di controllo anacron-m.

Salve,

Eseguire lo script di continuo significa che devo lasciare una finestra del prompt dei comandi sempre aperto. Una volta chiuso, il processo sarà terminato, e anche un altro svantaggio è che un loop infinito script mangiare un sacco di risorse, wouldn; t it?
Quindi ritengo che cron è il più pratico. Ma non ho idea di controllo o anacron-m. Mi potete illuminare su questo?

Può darci un esempio di script di essere ri-concorrente?
Stavo pensando se ho potuto fare lo script per il processo di verifica per vedere se il precedente processo sono stati completati, gli esperti può darmi alcuni esempi di questo? Sto usando csh dalla strada.
  #4 (permalink)  
Old 02-06-2008
Smiling Dragon's Avatar
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Disorganizzato utente
  
 

Iscriviti Data: novembre 2007
Luogo: Nuova Zelanda
Interventi: 922
Citazione:
Originalmente inviato da Raynon View Post
Eseguire lo script di continuo significa che devo lasciare una finestra del prompt dei comandi sempre aperto. Una volta chiuso, il processo sarà terminato
Non a tutti, solo per passare al fondo, non diversa da tutte le altre cose daemonised è in esecuzione sul vostro sistema. Se si ama scrivere a STDOUT, reindirizzare ad un file di log (o / dev / null se si preferisce).
Citazione:
Originalmente inviato da Raynon View Post
e anche un altro svantaggio è che un loop infinito script mangiare un sacco di risorse, wouldn; t it?
Molto come prima, senza problemi né qui. Basta usare il sonno in fondo alla rete per fermarlo thrashing.
Citazione:
Originalmente inviato da Raynon View Post
Quindi ritengo che cron è il più pratico.
La sua chiamata naturalmente.
Citazione:
Originalmente inviato da Raynon View Post
Ma non ho idea di controllo o anacron-m. Mi potete illuminare su questo?
Anacron è una versione leggermente più avanzata di cron, può o non può fare ciò che volete. Free (credo)
Control-M è un prodotto BMC che gestisce la programmazione a livello aziendale, essa sostiene le dipendenze di posti di lavoro, capisce di risorse limitate e lavora su più piattaforme. Costi un po '.

Google per maggiori informazioni su questi
Citazione:
Originalmente inviato da Raynon View Post
Può darci un esempio di script di essere ri-concorrente?
Rientrante solo significa che può essere eseguito più volte in una sola volta senza wonky. Un esempio:
Non rentrant:

Codice:
#!/bin/sh
/usr/bin/do_some_stuff > /var/log/did_some_stuff.log
do some other things
if grep 'it worked' /var/log/did_some_stuff.log
then
  /usr/sbin/assume_we_are_good_to_go
else
  echo "Argh"
fi

Rientrante:

Codice:
#!/bin/sh
/usr/bin/do_some_stuff > /var/log/did_some_stuff.$$.log
do some other things
if grep 'it worked' /var/log/did_some_stuff.$$.log
then
  /usr/sbin/assume_we_are_good_to_go
else
  echo "Argh"
fi
rm /var/log/did_some_stuff.$$.log

Il primo esempio di lettura fino alla fine potrebbe tornare il log di un altro esempio di se stesso. La seconda versione prevede l'attuale processo ID nel file di log che impedisce che questo avvenga.

Un altro, più semplice, è quella di guardare solo nel processo di tabella per un'altra copia dello script, se trovate l'uscita subito.

Citazione:
Originalmente inviato da Raynon View Post
Stavo pensando se ho potuto fare lo script per il processo di verifica per vedere se il precedente processo sono stati completati, gli esperti può darmi alcuni esempi di questo? Sto usando csh dalla strada.
(Sistema V Supponendo invece di bsd)

Codice:
#!/bin/csh
set numprocs=`ps -ef | grep -v grep | grep $scriptname | wc -l | awk '{ print $1 }'`
if ($numprocs == 1) then
    # carry on
else
   echo "Another instance is already running, exiting..."
   exit 0
endif

  #5 (permalink)  
Old 02-13-2008
Raynon Raynon is offline
Utente Registrato
  
 

Join Date: Sep 2006
Ubicazione: SG
Interventi: 350
Salve,

Mi riferisco a questo esempio che mi hai fornito.


Codice:
#!/bin/csh
set numprocs=`ps -ef | grep -v grep | grep $scriptname | wc -l | awk '{ print $1 }'`
if ($numprocs == 1) then
    # carry on
else
   echo "Another instance is already running, exiting..."
   exit 0
endif

Qual è il significato della numprocs?
Se è uguale a 1, perché si dimostra che lo script non è in esecuzione più?

Ho provato un semplice script di sotto csh e doesn; t lavorare veramente.
Quando si è addormentato, il nome dello script che è "myscriptname"Non trova riscontro nel "Ps-ef", Che mostra solo " usr 28951 28941 0 15:00:39 pts / 7 0:00 sonno 100 ".

Potete aiutarmi?


Codice:
#!/bin/csh

echo xxx
echo ppp 
echo zzz

sleep 100

  #6 (permalink)  
Old 02-13-2008
Smiling Dragon's Avatar
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Disorganizzato utente
  
 

Iscriviti Data: novembre 2007
Luogo: Nuova Zelanda
Interventi: 922
Citazione:
Originalmente inviato da Raynon View Post
Mi riferisco a questo esempio che mi hai fornito.

Codice:
#!/bin/csh
set numprocs=`ps -ef | grep -v grep | grep $scriptname | wc -l | awk '{ print $1 }'`
if ($numprocs == 1) then
    # carry on
else
   echo "Another instance is already running, exiting..."
   exit 0
endif

Qual è il significato della numprocs?
Se è uguale a 1, perché si dimostra che lo script non è in esecuzione più?
Perché una copia è in esecuzione, quello che attualmente in esecuzione. E 'alla ricerca di un'altra versione di se stesso (cioè 2 o più) in caso ci siano altre copie ancora in corso.
Citazione:
Originalmente inviato da Raynon View Post
Ho provato un semplice script di sotto csh e doesn; t lavorare veramente.
Quando si è addormentato, il nome dello script che è "myscriptname"Non trova riscontro nel "Ps-ef", Che mostra solo " usr 28951 28941 0 15:00:39 pts / 7 0:00 sonno 100 ".
Opere per me, quando ho eseguito uno script csh con un sonno in essa, non vedo il sonno, il principale _and_ script in esecuzione.
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 06:41 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0