The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

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
Aggiungendo il numero di riga e un SEPERATOR per ogni riga di un file? pjcwhite Shell scripting e di programmazione 4 03-21-2007 01:29 AM
aggiungendo a sed output di un file in mezzo di file go4desperado Shell scripting e di programmazione 5 02-05-2007 02:20 AM
Aggiungendo i dati in occasione della prima e ultima linea di un file brainstormer Shell scripting e di programmazione 4 01-03-2007 10:38 AM
Acquisizione di script per la shell dei comandi di uscita designflaw Shell scripting e di programmazione 2 03-01-2006 04:24 PM
catturare l'output in script MizzGail Shell scripting e di programmazione 6 06-02-2004 07:44 AM

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 08-30-2007
wally_welder's Avatar
wally_welder wally_welder is offline
Utente Registrato
  
 

Join Date: Aug 2007
Ubicazione: Dongen, Paesi Bassi
Interventi: 2
l'acquisizione da linea di produzione e aggiungendo lo script in un file

Ciao a tutti,
Ho fatto qualche ricerca in questo forum, ma non riesco a trovare nulla che corrisponda al problema I'm urti con la testa.

Su un CentOS4/Postfix (bash e ovunque) gateway di posta casella di eseguire periodicamente un comando per eliminare la coda di messaggi Postfix "From: MAILER -DAEMON".

Questo è un line'r (cortesia del Postfix elenco archivi)

Codice:
mailq | grep -v "^[^0-9A-Z]+" | grep MAILER-DAEMON | awk '{print $1}' | postsuper -d -
Ciò genera in uscita esattamente come indicato:
[molti precedenti linee di esattamente lo stesso formato]
postsuper: E657736C82BD: rimosso
postsuper: E1CAD36C8074: rimosso

e, infine, al termine della produzione:
postsuper: soppresso: 127 messaggi

Quello che sto cercando di capire come fare questo è .....
Prendi il numero di messaggi eliminati, e aggiungere a un file con un timestamp ad esempio 20070830 07:32 - 127

in qualche modo in quest'ultimo fine di questo sarebbe>> cron_purges

Qualcuno mi può aiutare a capire come prendere * solo * il numero, e appendere un timestamp su di esso, come mostrato nell'esempio di cui sopra?

Regards & TIA!
Wally
  #2 (permalink)  
Old 08-30-2007
ranj @ CHN ranj@chn is offline Forum Advisor  
Giocare con Ubuntu ora!
  
 

Iscriviti Data: ottobre 2005
Località: Chennai
Interventi: 365
un modo

Un modo sarebbe quello di ottenere il tubo o / p e filtrare l'ultima riga e ottenere il numero di messaggi eliminati da lì e assegnarlo ad una variabile.
Codice:
no_of_msgs=$(mailq | grep -v "^[^0-9A-Z]+" | grep MAILER-DAEMON | awk '{print $1}' | postsuper -d - | tail -1 | awk '{print $3}')
Formato data per ottenere il timbro data-tempo richiesto
Codice:
dt_time=$(date +'%Y%m%d %H:%M')
Ora eco ad un file in cui si desidera accedere a questo.
Codice:
echo "$dt_time - ${no_of_msgs}" >>cron_purges
  #3 (permalink)  
Old 08-30-2007
wally_welder's Avatar
wally_welder wally_welder is offline
Utente Registrato
  
 

Join Date: Aug 2007
Ubicazione: Dongen, Paesi Bassi
Interventi: 2
l'acquisizione da linea di produzione e aggiungendo lo script in un file

Citazione:
Originalmente inviato da ranj @ CHN View Post
Un modo sarebbe quello di ottenere il tubo o / p e filtrare l'ultima riga e ottenere il numero di messaggi eliminati da lì e assegnarlo ad una variabile.
Codice:
no_of_msgs=$(mailq | grep -v "^[^0-9A-Z]+" | grep MAILER-DAEMON | awk '{print $1}' | postsuper -d - | tail -1 | awk '{print $3}')
Formato data per ottenere il timbro data-tempo richiesto
Codice:
dt_time=$(date +'%Y%m%d %H:%M')
Ora eco ad un file in cui si desidera accedere a questo.
Codice:
echo "$dt_time - ${no_of_msgs}" >>cron_purges
Che fa alcune cose piuttosto interessanti:
1. Non eseguire la cancellazione di successo, ma le uscite verbosely a schermo in formato originale
2. Non scrivere un timestamp per il file cron_purges
ma
3. Non cattura il numero (rappresentato come "xxx" qui sotto) che figurano nella ultima linea di produzione:
postsuper: soppresso: xxx messaggi

Purtroppo, non so abbastanza sulla sintassi per la mensa intorno con le possibili alternative al fine di offrire un suggerimento ... sì, sto un po 'stumped ancora.

Saluti e grazie!
-Wally
  #4 (permalink)  
Old 08-30-2007
ranj @ CHN ranj@chn is offline Forum Advisor  
Giocare con Ubuntu ora!
  
 

Iscriviti Data: ottobre 2005
Località: Chennai
Interventi: 365
tubo non può essere di lavoro

Non so esattamente che cosa è la ragione, ma l'o / p di postsuper-d non sembra essere condotte a coda comando. Prova questo,
Redirige l'O / P del postsuper-d ad alcuni temporanei. Scarica il numero di messaggi dal temporanei.
Codice:
mailq | grep -v "^[^0-9A-Z]+" | grep MAILER-DAEMON | awk '{print $1}' | postsuper -d - >tempfile
no_of_msgs=$(tail -1 tmpfile |awk '{print $3}')
Il resto è la stessa. Rimuovere il tempfile afer il lavoro è finito. Se questo non funziona, quindi fare verificare se l'ultima riga è una riga vuota nella temporanei. Righe vuote alla fine potrebbe anche alterare il o / p. Ma io donot know-how postsuper opere di identificare chiaramente la causa. Speranza che aiuta!
  #5 (permalink)  
Old 08-30-2007
fazliturk fazliturk is offline
Utente Registrato
  
 

Join Date: Aug 2007
Posti: 45
provare questo;

NumOfMsg \u003d`.....( il tuo codice orijinal) ... | grep soppresso | awk '(print $ 3)' `
I cosa coda non è adatto per il motivo per cui il tubo tubo invia riga per riga in modo coda -1 per ogni linea sarà l'ultima riga
  #6 (permalink)  
Old 08-31-2007
ranj @ CHN ranj@chn is offline Forum Advisor  
Giocare con Ubuntu ora!
  
 

Iscriviti Data: ottobre 2005
Località: Chennai
Interventi: 365
coda dovrebbe funzionare

Citazione:
fazliturk
I cosa coda non è adatto per il motivo per cui il tubo tubo invia riga per riga in modo coda -1 per ogni linea sarà l'ultima riga
coda dovrebbe funzionare. Check this,
Codice:
rkumar@bdc4reteaix1w: /home/rkumar >ls
bkgdtest         dead.letter      mbox             mypipe           nohup.out        test.pl          unix_forum
cprog            f1.txt           myfile           newone           restart_sshd.sh  testpipe.sh      whsmith
rkumar@bdc4reteaix1w: /home/rkumar >ls | tail -1
whsmith
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 è 02:30 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