![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| 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 |
| Impostazione cronjobs ... | krworks | Shell scripting e di programmazione | 4 | 06-06-2008 03:46 AM |
| controllo su script di shell | JLJ | Shell scripting e di programmazione | 3 | 01-22-2007 02:16 AM |
| utilizzando espressioni regolari in C shell struttura di controllo | ballazrus | Shell scripting e di programmazione | 3 | 02-20-2006 12:59 AM |
| Cronjobs | mcastill66 | AIX | 1 | 05-31-2005 03:15 PM |
| cronjobs | Tamer | UNIX for Dummies Domande & Risposte | 3 | 01-22-2001 02:48 PM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Come Cronjobs controllo utilizzando Shell Script?
Hi All,
Ora sono in esecuzione del 3 oracolo procedure manualmente uno per uno. Query: 1. Se OUT_PUT procedura è successo, allora chiamata 2. Procedura. 2. Procedura OUT_PUT Se è successo, allora chiamata 3a procedura. Se 1o procedura è fallita, quindi non necessità di chiamare gli altri procedure. Come Schedule 1, 2, 3 Procedura di posti di lavoro sono @ ############################################### CALENDARIO LAVORI ############################################### # 30 01 * * * / u14/ods/scripts/in_pps_state_change.sh>> / u14/ods/scripts/scriptslog/in_other_mail.log 2> & 1 # 00 03 * * * / u14/ods/scripts/in_pps_cos_change.sh>> / u14/ods/scripts/scriptslog/in_other_mail.log 2> & 1 # 30 04 * * * / u14/ods/scripts/in_pps_usage_change.sh>> / u14/ods/scripts/scriptslog/in_other_mail.log 2> & 1 ################################################ INDIZIONE PROCEDURA DA ORACLE Shell Script ################################################ Ad esempio, chiedendo di SP:: in_pps_usage_change.sh Retval \u003d `sqlplus-s ODS / ODS ODSDB @ <<EOF SET SERVEROUTPUT in formato 100000 Dichiarare OUT_STATUS NUMERO; OUT_MSG VARCHAR2 (200); Iniziare ODS_SP_REMOVE_PRE_SUB_DUP (OUT_STATUS, OUT_MSG); dbms_output.put_line ( 'KeepThis' | | OUT_STATUS | |' '| | nvl (OUT_MSG ,'')); Fine; / SET SERVEROUTPUT OFF EXIT; EOF » X \u003d `echo $ retval | KeepThis grep | awk '(print $ 2)'` Y \u003d `echo $ retval | KeepThis grep | awk '(print $ 3)'` echo "">> $ USER_LOG echo "Procedura: ODS_SP_REMOVE_PRE_SUB_DUP di uscita è il seguente:">> $ USER_LOG echo "\u003d $ OUT_STATUS X">> $ USER_LOG echo "\u003d $ OUT_MSG Y">> $ USER_LOG ################################################ Si prega di fornire la soluzione della mia ricerca .. Grazie e saluti Hanuma |
|
||||
|
Perché non tenere tutto in un unico copione, e che inizia a 01:30? Poi è molto più semplice per vedere se la prima subjob fallito. Codice:
if in_pps_state_change.sh; then in_pps_cos_change.sh in_pps_usage_change.sh fi Si potrebbe anche funzionare con "a" se loro esecuzione in un determinato momento è importante. Ma poi, bisogna essere sicuri che in_pps_state_change.sh finisce prima del prossimo lavoro è dovuto. Codice:
if in_pps_state_change.sh; then # Todo: maybe die a horrible death if the time is already past 03:00 echo /u14/ods/scripts/in_pps_cos_change.sh | at 03:00 echo /u14/ods/scripts/iin_pps_usage_change.sh | at 04:30 fi Ultimo a cura di epoca; al 03/18/2008 07:40 AM.. Motivo: Add "a" esempio |
|
||||
|
Citazione:
|
|
||||
|
Ho un altro dought?
Se la procedura viene eseguita 1a, ma non è dovuto al fatto ORA-03113: fine del Comminication canale di errore. In questo caso, se possibile eseguire il LOOP 2nd & 3rd Procedure successo ????? Ogni soluzione è lì, per il controllo 2 °, 3 ° procedure? |
|
||||
|
Si dovrebbe anche fare attenzione a impostare correttamente il codice di uscita dallo script, in modo che la shell script che raccoglie questi possono esaminarla.
Penso che qualcosa di simile se OUT_STATUS è "Successo" exit 0, altrimenti qualche numero più elevato (0 significa successo). Sei in controllo del primo script di shell (e se no, creare un wrapper script che siete in controllo di), in modo semplicemente rendere tornare successo (zero), alle condizioni in cui il secondo e il terzo script può essere eseguito, e non se non da zero. Ultimo a cura di epoca; al 03/18/2008 08:28 AM.. Motivo: Risposta alla domanda più recente, anche |
|
||||
|
Citazione:
Grazie .... |
|
||||
|
Come la & & operatore? Codice:
procedure1 && procedure2 && procedure3 Questo è esattamente ciò che si desidera. Se uno di loro non riesce (restituisce un non-zero exit status), quindi nessuno dei seguenti sarà tentato. ShawnMilo |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|