The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Unzip bestemt gzip filer blant vanlige datafiler thepurple Shell programmering og Skripting 4 11-30-2007 11:17
gzip alle filene i en katalog er_ashu UNIX for Dummies Spørsmål og svar 2 11-06-2007 09:05
Trenger å gzip store filer LordJezo UNIX for Dummies Spørsmål og svar 2 05-02-2005 05:18
gzip, flere filer smbodnar UNIX for Dummies Spørsmål og svar 2 11-11-2002 04:29
To filer som er opprettet for hvert? Atama UNIX for Dummies Spørsmål og svar 1 04-12-2002 05:44

 
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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 10-13-2008
eisenhorn eisenhorn is offline
Registrert bruker
  
 

Bli Dato: Oct 2008
Innlegg: 3
Gzip filer som de er opprettet

Hallo. Jeg har et scripting søket at jeg stumped på som jeg håper du kan hjelpe med.

I utgangspunktet har jeg en ksh script som kaller en prosess for å lage n antall binære filer. Disse filene har en maksimal størrelse på 1 GB. Prosessen kan skrive n antall filer samtidig (parallell operasjon) basert på paralellisation parameter matet inn i helt i starten. Normalt ville vi vente til denne prosessen er fullført og deretter gzip alle filene enkeltvis (gzip *. dmp for eksempel). Men på enkelte systemer vi ikke har nok diskplass til å vente til alle 1GB filer har blitt produsert.

Jeg har tidligere skrevet noen kode til gzip filene parallelt (se nedenfor), men jeg nå må gzip dem i parallell, mens den første prosessen kjøres. Jeg må være forsiktig med å forsøke å gzip filer øyeblikket skriftlig (opptil n fra parallelle kommando), så en slags looping vil være nødvendig. Og jeg ønsker å opprettholde muligheten for parallell gzip hvis mulig.


Code:
...
gzip_func() {
started=0
threads=4
for filename in `ls -1 ${EXP_DIR}/*.dmp`
do
 if [[ ${started} -lt ${threads} ]]; then
  let started=started+1
  echo "gzip ${filename}"
  ( $GZIPCMD ${filename} ) &
  list_of_pids="${list_of_pids} $!"
 else
  print "wait ${list_of_pids}"
  wait ${list_of_pids}
  list_of_pids=""
  started=0
 fi
done
}
...
my_binary_file_creation_process
...
while [ `find ${EXP_DIR} -name \*.dmp|wc -l` -gt "0" ]; do
 gzip_func
 print "wait ${list_of_pids}"
 wait ${list_of_pids}
 list_of_pids=""
done

Kan noen hjelpe meg med å skrive litt kode for dette ved hjelp av standard solaris 8/9/10 verktøy bruker korn shell. Perl kommandoer bør være mulig (vers 5.6.1 installert).

Mange takk og Best Regards,
Stephen.
 

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 01:38.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0