Untar een archive uit een archive

Pagina: 1
Acties:

  • Websmurf
  • Registratie: November 2002
  • Laatst online: 26-07-2025
Hay,

Ik heb een vraagje over untar, en aangezien ik niet zo'n unix expert ben kom ik er niet uit.

ik ben bezig om AW stats te installeren, maar het probleem hiermee is dat mijn logfiles 2x gezipt zitten en ik moet dus de log file hebben.

ff een betere omschrijving:

ik heb een .tar file access_log_2003.tar, die is voor elk jaar verschillend

in deze .tar zit een archive met de naam access_log_20030921.gz wat dus verwijst naar de datum

in deze .gz zit een bestand access_log_20030921

dit bestand moet ik dus eigenlijk hebben..

in AWstats moet je in de configuratie aangeven waar je logfile gelokaliseerd zijn:

# Example: "/var/log/access_log.%YYYY-0%MM-0%DD-0.log"
# Example: "C:/WINNT/system32/LogFiles/W3SVC1/ex%YY-24%MM-24%DD-24.log"
# You can also use a pipe if log file come from a pipe.
# Example: "gzip -d </var/log/apache/access.log.gz |"
#
LogFile="gzip -d </www/htdocs/logs/access_log_%YYYY.tar"


wat moet ik nu bij die invullen om de eigenlijke log file te krijgen, en dus alles on the fly te unzippen..???
En is dit verstanding om op deze manier te doen ivm serverload e.d.

Adam

  • whoami
  • Registratie: December 2000
  • Laatst online: 30-04 15:31
Hey, dit heeft niets met P&W te maken.

Zie ook dit sticky topic: *** Batch en shell script topics ***

P&W is een forum dat gaat over programmeren. Configuratie-problems, OS-specifieke problemen, etc.... horen hier hier niet thuis. Daar hebben we nog een aantal andere fora voor.
Vandaar dat ik jouw topic verplaats naar Non Windows OS.

P&W -> NOS

[ Voor 65% gewijzigd door whoami op 24-09-2003 11:23 ]

https://fgheysels.github.io/


  • Websmurf
  • Registratie: November 2002
  • Laatst online: 26-07-2025
sorry, had ik ff gemist :$

  • mvdejong
  • Registratie: Juni 2000
  • Laatst online: 29-11-2024

mvdejong

When does the hurting stop ?

Probeer eens :

code:
1
( cd /tmp ; tar xf /.../access_log_2003.tar ; gzip -d < access_log_20030921.gz) |


Je kunt tar niet overhalen om een extracted bestand op standard output te zetten, dus je gaat in een sub-shell naar je temporary directory naar keuze, pakt hem daar uit, en gunzipt het ding dan naar standard output.

Als je nog meer processing zou willen doen (zoals het weer weggooien van het zojuist uitgepakte bestand), dan kun je er beter een scriptje van maken dat het doet, en dat als pipe opgeven :

code:
1
2
3
4
5
#!/bin/sh
cd /tmp
tar xf ${1} 2>extracted_name
gzip -d < `cat extracted_name`
rm `cat extracted_name`


en dat aanroepen via :

code:
1
extract_script.sh /.../access_log_2003.tar |

The number of things that Arthur couldn't believe he was seeing was fairly large


  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-04 08:10

RvdH

Uitvinder van RickRAID

websmurf schreef op 24 September 2003 @ 11:20:
LogFile="gzip -d </www/htdocs/logs/access_log_%YYYY.tar"
LogFile="tar -xOf /www/htdocs/logs/access_log_%YYYY.tar access_log_%YYYY0%MM0%DD.gz| gzip -d |"
mvdejong schreef op 24 September 2003 @ 11:28:
Je kunt tar niet overhalen om een extracted bestand op standard output te zetten, dus je gaat -blablabla moeilijk gedoe-
Eh, tar kan zeker wel naar stdout extracten hoor. Daar is de -O flag voor.

[ Voor 46% gewijzigd door RvdH op 24-09-2003 11:39 ]


  • Websmurf
  • Registratie: November 2002
  • Laatst online: 26-07-2025
die optie werkt niet helemaal rick..

Error: Command for pipe 'tar -xOf /www/htdocs/logs/access_log_2003.tar access_log_2003009024.gz| gzip -d |' failed

Setup ('awstats.conf' file, web server or permissions) may be wrong.
See AWStats documentation in 'docs' directory for informations on how to setup awstats.

  • mvdejong
  • Registratie: Juni 2000
  • Laatst online: 29-11-2024

mvdejong

When does the hurting stop ?

RickJansen schreef op 24 September 2003 @ 11:32:
[...]

LogFile="tar -xOf /www/htdocs/logs/access_log_%YYYY.tar access_log_%YYYY0%MM0%DD.gz| gzip -d |"


[...]

Eh, tar kan zeker wel naar stdout extracten hoor. Daar is de -O flag voor.
He, die kende ik niet, en komt ook zeker niet voor op een aantal platforms. Welke UNIX-en hebben die ?

Andere OS-specifieke tar-flags (deze uit IRIX, de "-C" heb ik nog nergens anders gezien, maar is een fantastische verify-optie) :
-C : vergelijk de inhoud van het archive met de bestaande bestanden/directories, en maak een listing met de status (bijv. "=" betekent dat het bestand nog hetzelfde is).
-R : extract zonder leading slashes, die komt op andere platforms weer als "-J" voor.

The number of things that Arthur couldn't believe he was seeing was fairly large


  • Websmurf
  • Registratie: November 2002
  • Laatst online: 26-07-2025
als ik achter die regel "gzip -d |" de "|" weg haal krijg ik de volgende melding:

Error: Couldn't open server log file "tar -xOf /www/htdocs/lyrics/logs/access_log_2003.tar access_log_20030924.gz | gzip -d" : No such file or directory

Setup ('awstats.conf' file, web server or permissions) may be wrong.
See AWStats documentation in 'docs' directory for informations on how to setup awstats.

terwijl die logfile toch echt wel bestaat

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-04 08:10

RvdH

Uitvinder van RickRAID

Waarom haal je die | weg dan? Die staat er niet voor niets?

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-04 08:10

RvdH

Uitvinder van RickRAID

websmurf schreef op 24 September 2003 @ 11:43:
die optie werkt niet helemaal rick..

Error: Command for pipe 'tar -xOf /www/htdocs/logs/access_log_2003.tar access_log_2003009024.gz| gzip -d |' failed

Setup ('awstats.conf' file, web server or permissions) may be wrong.
See AWStats documentation in 'docs' directory for informations on how to setup awstats.
Kijk eens in man tar of je die -O optie hebt?

  • Websmurf
  • Registratie: November 2002
  • Laatst online: 26-07-2025
kan het misschien zijn dat "gzip" perse als eerste moet staan?
hoe moet ik die regel dan omschrijven?

('k heb de optie -O)

[ Voor 16% gewijzigd door Websmurf op 24-09-2003 12:24 ]


  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-04 08:10

RvdH

Uitvinder van RickRAID

mvdejong schreef op 24 September 2003 @ 11:44:
[...]


He, die kende ik niet, en komt ook zeker niet voor op een aantal platforms. Welke UNIX-en hebben die ?

Andere OS-specifieke tar-flags (deze uit IRIX, de "-C" heb ik nog nergens anders gezien, maar is een fantastische verify-optie) :
-C : vergelijk de inhoud van het archive met de bestaande bestanden/directories, en maak een listing met de status (bijv. "=" betekent dat het bestand nog hetzelfde is).
-R : extract zonder leading slashes, die komt op andere platforms weer als "-J" voor.
Deze optie bestaat iig in Debian en RedHat..

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 30-04 11:24

Kees

Serveradmin / BOFH / DoC
als je nu eens de tar untarred (1 file tarren is compleet nutteloos btw) en dan gewoon die file unzipped?

code:
1
2
tar -xvf /www/htdocs/lyrics/logs/access_log_2003.tar
gunzip access_log_20030924.gz


En tja, als je het wil pipen:
code:
1
 tar -xOf /www/htdocs/lyrics/logs/access_log_2003.tar | zcat

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-04 08:10

RvdH

Uitvinder van RickRAID

websmurf schreef op 24 September 2003 @ 12:22:
kan het misschien zijn dat "gzip" perse als eerste moet staan?
Nee.

Maak eens in een shell een file met de inhoud 'blaat'.
Voer dan deze commando's uit:
$ gzip blaat
$ tar -cf foo.tar blaat.gz
$ tar -xOf foo.tar blaat.gz | gzip -d

Als het goed is, is de uitvoer bij het laatste commando weer 'blaat'?

  • Websmurf
  • Registratie: November 2002
  • Laatst online: 26-07-2025
Kees schreef op 24 September 2003 @ 12:25:
als je nu eens de tar untarred (1 file tarren is compleet nutteloos btw) en dan gewoon die file unzipped?

code:
1
2
tar -xvf /www/htdocs/lyrics/logs/access_log_2003.tar
gunzip access_log_20030924.gz


En tja, als je het wil pipen:
code:
1
 tar -xOf /www/htdocs/lyrics/logs/access_log_2003.tar | zcat
tjah..het wordt mij zo aangeleverd.. wordt door m'n host zo geregeld

1 tar file per jaar met daarin voor elke dag een apart .gz bestand met de logfile van die dag..en dat maakt het voor awstats zo lastig

  • Websmurf
  • Registratie: November 2002
  • Laatst online: 26-07-2025
RickJansen schreef op 24 September 2003 @ 12:27:
[...]

Nee.

Maak eens in een shell een file met de inhoud 'blaat'.
Voer dan deze commando's uit:
$ gzip blaat
$ tar -cf foo.tar blaat.gz
$ tar -xOf foo.tar blaat.gz | gzip -d

Als het goed is, is de uitvoer bij het laatste commando weer 'blaat'?
nopes...'k krijg trouwens ook geen error ofzo...

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-04 08:10

RvdH

Uitvinder van RickRAID

code:
1
2
3
4
5
6
7
8
[root@backup log]# vim blaat
[root@backup log]# cat blaat
blaadiebladiebla
[root@backup log]# gzip blaat
[root@backup log]# tar -cf foo.tar blaat.gz
[root@backup log]# tar -xOf foo.tar blaat.gz | gzip -d
blaadiebladiebla
[root@backup log]#

Zo is het bij mij, post jouw uitvoer eens?

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 30-04 11:24

Kees

Serveradmin / BOFH / DoC
ah zo.. ik was in de veronderstelling dat je per dag een .gz in een tar stopt, maar er zitten er dus meerdere in..
In dat geval moet je het iets anders doen

code:
1
tar -xOf /www/htdocs/lyrics/logs/access_log_2003.tar access_log_%YYYY%MM%DD | zcat |

(die laatste '|' zorgt ervoor dat AWstats de output weer kan pipen)

bovenstaande is dus voor in AWstats, als het goed is gaat die dan de %YYYY%MM%DD expanden

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • Websmurf
  • Registratie: November 2002
  • Laatst online: 26-07-2025
RickJansen schreef op 24 september 2003 @ 12:33:
code:
1
2
3
4
5
6
7
8
[root@backup log]# vim blaat
[root@backup log]# cat blaat
blaadiebladiebla
[root@backup log]# gzip blaat
[root@backup log]# tar -cf foo.tar blaat.gz
[root@backup log]# tar -xOf foo.tar blaat.gz | gzip -d
blaadiebladiebla
[root@backup log]#

Zo is het bij mij, post jouw uitvoer eens?
jah..klopt jah...'k had niets in het bestand gezet... O-)

ik zie de tekst ook gewoon...

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-04 08:10

RvdH

Uitvinder van RickRAID

websmurf schreef op 24 september 2003 @ 12:34:
[...]


jah..klopt jah...'k had niets in het bestand gezet... O-)

ik zie de tekst ook gewoon...
LogFile="tar -xOf /www/htdocs/logs/access_log_%YYYY.tar access_log_%YYYY%MM%DD.gz| gzip -d |"

Probeer bovenstaande eens, want ik zie in de foutmelding dat je nullen teveel hebt in de filename. Ik dacht dat awstats dat gebruikte om de %MM mee aan te vullen als de maand uit 1 cijfer bestaat, maar schijnbaar hoeft dat niet.

[ Voor 26% gewijzigd door RvdH op 24-09-2003 12:39 ]


  • Websmurf
  • Registratie: November 2002
  • Laatst online: 26-07-2025
als ik deze regel lokaal test (in dezelfde map als de .tar):

'tar -xOf access_log_2003.tar access_log_2003009024.gz| gzip -d'

zonder die laatste '|' zie ik ook alle regels door het beeld heen flitsen..

  • Websmurf
  • Registratie: November 2002
  • Laatst online: 26-07-2025
RickJansen schreef op 24 September 2003 @ 12:38:
[...]

LogFile="tar -xOf /www/htdocs/logs/access_log_%YYYY.tar access_log_%YYYY%MM%DD.gz| gzip -d |"

Probeer bovenstaande eens, want ik zie in de foutmelding dat je nullen teveel hebt in de filename. Ik dacht dat awstats dat gebruikte om de %MM mee aan te vullen als de maand uit 1 cijfer bestaat, maar schijnbaar hoeft dat niet.
Error: Command for pipe 'tar -xOf /www/htdocs/lyrics/logs/access_log_2003.tar access_log_20030924.gz| gzip -d |' failed

(ik heb in die log directory geen schrijfrechten btw)

[ Voor 8% gewijzigd door Websmurf op 24-09-2003 12:41 ]


  • Websmurf
  • Registratie: November 2002
  • Laatst online: 26-07-2025
volgens mij doetie het nu wel...

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-04 08:10

RvdH

Uitvinder van RickRAID

websmurf schreef op 24 September 2003 @ 13:07:
volgens mij doetie het nu wel...
Want?
Pagina: 1