The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
tail-f wannalearn Shell-programmering och Skript 4 04-10-2007 06:22
svans kommando .. amon Shell-programmering och Skript 2 06-02-2006 05:36
Hjälp på scripting använder svans jisc Shell-programmering och Skript 4 05-19-2006 04:15
hur sed med svans redlotus72 UNIX for Dummies Frågor & Svar 1 08-30-2005 06:27
använder tail-f cdunavent Shell-programmering och Skript 6 10-23-2002 06:10

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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 06-15-2006
qfwfq qfwfq is offline
Registered User
  
 

Join Date: februari 2005
Ort: Kanada
Inlägg: 133
Tail?

Hej alla,

Jag har sök på forumet och kunde inte hitta ett svar ... Här är vad jag försöker göra. Alla 15 minuter, ett script skicka upptid produktion till en loggfil (dailylog.log), som innehåller rader som den nedan:


Kod:
11:21am  up 44 days, 19:15,  1 user,  load average: 0.00, 0.02, 0.03

Men jag försöker att extrahera endast före sista raden och skicka den till en annan fil. Saken är den att använda svansen -2 kommer att visa mig de senaste 2 rader ... Jag behöver inte den sista raden. Loggen växer var 15 minuter så jag vet inte hur många poster det finns i filen.


Kod:
echo $(tail -10 /dailyload.log)

Finns det någon som har ett förslag?
  #2 (permalänk)  
Old 06-15-2006
jim McNamara jim mcnamara is online now Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.802
Vill du ha den nästa till sista raden, eller hur? Och bara en linje. Och lägger till en linje en annan fil. Sedan väntar 15 minuter och gör det igen?

Kod:
while true
do
     tail -2 logfile | head -1 >>  anotherfile.log
     sleep 900
done

  #3 (permalänk)  
Old 06-15-2006
qfwfq qfwfq is offline
Registered User
  
 

Join Date: februari 2005
Ort: Kanada
Inlägg: 133
TKS Jim. Nu är det jag gör är att sätta 13th argument upptid kommando i en variabel, lasten, låt oss säga 0.06 och nu lägger de senaste 24 timmarna belastning och gör ett genomsnitt av det totala antalet. Här är vad jag försöker göra:


Kod:
#!/usr/bin/ksh
I_COUNT=96
C_CHAINE=0
until ((I_COUNT < 1))
do

tail -$I_COUNT /dailyload.log | head -1 | awk '{print $13}' > $C_CHAINE

#average
((C_CHAINE=C_CHAINE+$13))
((I_COUNT=I_COUNT-1))

done

((C_CHAINE=C_CHAINE/96))
echo $C_CHAINE

Men kan inte få det att fungera. En idé?
  #4 (permalänk)  
Old 06-15-2006
jim McNamara jim mcnamara is online now Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.802
Det verkar som om du tar de senaste 96 rader från loggen och finna medelvärdet av kolumn 13.


Kod:
tail -96 logfile | \
awk 'BEGIN { total=0 } { total+=$13 } END{ printf("Avg=%f\n", total/NR) }'

om jag förstod vad du vill.
  #5 (permalänk)  
Old 06-16-2006
qfwfq qfwfq is offline
Registered User
  
 

Join Date: februari 2005
Ort: Kanada
Inlägg: 133
Det är exactlly vad jag letar efter. Hur kan jag få den största belastningen från de senaste 96 rader då?
  #6 (permalänk)  
Old 06-16-2006
jim McNamara jim mcnamara is online now Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.802

Kod:
tail -96 logfile | \
awk 'BEGIN { max=0 } { if($13>max){max=$13} } END{ printf("Max=%f\n", max) }'

  #7 (permalänk)  
Old 06-16-2006
reborg's Avatar
reborg reborg is offline Forum Staff  
Administratör
  
 

Join Date: mars 2005
Ort: Irland
Inlägg: 4.245
Det kan dock vara bättre att räkna kolumn från höger, snarare än till vänster, eftersom tiden i upptid kanske inte alltid innehåller samma numbert områden.

I stället för $ 13 användning $ (NF-2)
Closed Thread

Komihåglista

Taggar
belastning genomsnitt, uppträdande

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 11:14.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0