Page 1 of 1
how to extract single Folder / File from .tar.gz
Posted: Sun Nov 29, 2020 6:41 am
by zaji_nms
Dear Expert
I am cracking my head but no success.
there are three question as below
how to view tar.gz to view files (all files including rrd xml) I tried as below but no success (not showing any rrd/xml files)
tar -ztvf nagiosxi.123456789.tar.gz
how to extract one full folder of /usr/local/nagios/share/perfdata/mydevice-7600/
how to extract single file /usr/local/nagios/share/perfdata/mydevice-7600/GigabitEthernet0_2.1234_Bandwidth.rrd
regards
Re: how to extract single Folder / File from .tar.gz
Posted: Tue Dec 01, 2020 2:51 pm
by scottwilkerson
Assuming
nagiosxi.123456789.tar.gz is the backup file, run
Code: Select all
backupfile=/store/backups/nagiosxi/nagiosxi.123456789.tar.gz
to extract a dir
Code: Select all
tar -xzOf $backupfile $(basename $backupfile .tar.gz)/nagios.tar.gz | tar -xzf - usr/local/nagios/share/perfdata/mydevice-7600
to extract the file
Code: Select all
tar -xzOf $backupfile $(basename $backupfile .tar.gz)/nagios.tar.gz | tar -xzf - usr/local/nagios/share/perfdata/mydevice-7600/GigabitEthernet0_2.1234_Bandwidth.rrd
These files/directories will be placed in their path under where you are running the command, so if you run this from your home directory you would be able to view the file as:
Code: Select all
ls -l ~/usr/local/nagios/share/perfdata/mydevice-7600/GigabitEthernet0_2.1234_Bandwidth.rrd
Re: how to extract single Folder / File from .tar.gz
Posted: Thu Dec 03, 2020 6:32 am
by zaji_nms
Dear Scott
Thanks for your detail reply Thanks its working fine, God bless u.
but very first question you omitted to reply.....how to list all zip files/folder in the main NagiosXi .tar.gz file? (just to list all files/folders inside .tar.gz)
Regards
Re: how to extract single Folder / File from .tar.gz
Posted: Thu Dec 03, 2020 9:06 am
by scottwilkerson
zaji_nms wrote:Dear Scott
Thanks for your detail reply Thanks its working fine, God bless u.
but very first question you omitted to reply.....how to list all zip files/folder in the main NagiosXi .tar.gz file? (just to list all files/folders inside .tar.gz)
Regards
Sorry I missed that
Code: Select all
tar -ztvf /store/backups/nagiosxi/nagiosxi.123456789.tar.gz
Re: how to extract single Folder / File from .tar.gz
Posted: Thu Dec 03, 2020 1:33 pm
by zaji_nms
Dear Scott
no, no its not working, in my very first post in this thread, i already mentioned, its just showing this
pwd
/tmp
tar -ztvf nagiosxi.123456789.tar.gz | more
drwxr-xr-x nagios/users 0 2222-22-22 05:09 nagiosxi.123456789/
-rw-r--r-- nagios/users 2781800623 2222-22-22 05:09 nagiosxi.123456789/nagios.tar.gz
-rw-r--r-- nagios/users 3004779 2222-22-22 05:09 nagiosxi.123456789/nagvis.tar.gz
-rw-r--r-- nagios/users 901842 2222-22-22 04:59 nagiosxi.123456789/nagiosql.tar.gz
drwxr-xr-x nagios/users 0 2222-22-22 05:09 nagiosxi.123456789/httpd/
-rw-r--r-- nagios/users 427 2222-22-22 10:05 nagiosxi.123456789/httpd/nagiosql.conf
-rw-r--r-- nagios/users 1010 2222-22-22 16:46 nagiosxi.123456789/httpd/nagios.conf
-rw-r--r-- nagios/users 601 2222-22-22 10:05 nagiosxi.123456789/httpd/nagiosxi.conf
drwxr-xr-x nagios/users 0 2222-22-22 05:09 nagiosxi.123456789/logrotate/
-rw-r--r-- nagios/users 63 2222-22-22 13:19 nagiosxi.123456789/logrotate/nagiosxi
-rw-r--r-- nagios/users 20732817 2222-22-22 05:09 nagiosxi.123456789/nrdp.tar.gz
drwxr-xr-x nagios/users 0 2222-22-22 05:09 nagiosxi.123456789/pgsql/
-rw-r--r-- nagios/users 7825867 2222-22-22 05:09 nagiosxi.123456789/pgsql/nagiosxi.sql
drwxr-xr-x nagios/users 0 2222-22-22 05:09 nagiosxi.123456789/mysql/
-rw-r--r-- nagios/users 5619213 2222-22-22 05:09 nagiosxi.123456789/mysql/nagiosql.sql
-rw-r--r-- nagios/users 175136707 2222-22-22 05:09 nagiosxi.123456789/mysql/nagios.sql
-rw-r--r-- nagios/users 195 2222-22-22 04:59 nagiosxi.123456789/nagiosql-etc.tar.gz
-rw-r--r-- nagios/users 2917560 2222-22-22 05:09 nagiosxi.123456789/mrtg.cfg
drwxr-xr-x nagios/users 0 2222-22-22 05:09 nagiosxi.123456789/conf.d/
-rw-r--r-- nagios/users 67344 2222-22-22 05:09 nagiosxi.123456789/conf.d/onetwo.cfg
-rw-r--r-- nagios/users 992 2222-22-22 05:09 nagiosxi.123456789/conf.d/onetwothree_517.cfg
-------------------------------omitted some output-----------------------------
-rw-r--r-- nagios/users 999 2222-22-22 05:09 nagiosxi.123456789/conf.d/fourfive_10602.cfg
-rw-r--r-- nagios/users 967 2222-22-22 05:09 nagiosxi.123456789/conf.d/sixseven_504.cfg
-rw-r--r-- nagios/users 1047 2222-22-22 05:09 nagiosxi.123456789/conf.d/eightnine_10.cfg
-rw-r--r-- nagios/users 67755134 2222-22-22 05:09 nagiosxi.123456789/nagiosxi.tar.gz
-rw-r--r-- nagios/users 26194 2222-22-22 05:09 nagiosxi.123456789/hosts
-------------------------------------------------
i think it will work in two section basefile and then redirect as you mentioned in your solution
also can you please reply (solution) if i want to list files/folder
with FULL PATH
without FULL PATH (just filenames)
Regards
Re: how to extract single Folder / File from .tar.gz
Posted: Thu Dec 03, 2020 1:52 pm
by scottwilkerson
The backup actually contains what you showed, but it contains several other tar.gz files.
Re: how to extract single Folder / File from .tar.gz
Posted: Thu Dec 03, 2020 1:54 pm
by scottwilkerson
So for example to view the file in the inside nagios.tar.gz you could run
Code: Select all
tar -xzOf $backupfile $(basename $backupfile .tar.gz)/nagios.tar.gz | tar -ztvf -
Re: how to extract single Folder / File from .tar.gz
Posted: Thu Dec 03, 2020 2:32 pm
by zaji_nms
great its working fine
hopefully now last question in this thread...sorry to bother u....but may be useful for some time some user
its showing full path, how to do some trick with awk/sed to....
list only folders with PATH
list only folders without PATH
list only files without FULL PATH
Regards
Re: how to extract single Folder / File from .tar.gz
Posted: Thu Dec 03, 2020 5:14 pm
by vtrac
Here are couple examples:
list only folders with PATH (sort uniq):
Code: Select all
tar -zttf filename.tar.gz | awk '{print $6}' | sed 's/\(.*\/\)\(.*$\)/\1/g' | sort -u
list only files without FULL PATH:
Code: Select all
tar -zttf filename.tar.gz | awk '{print $6}' | sed 's/.*\///g'
Best Regards,
Vinh