Preserving timestamps when extracting .tgz logs
I have multiple .tgz kernel-panic logs that I must extract from one file. The timestamps for these .tgz files are important. Whenever I use the following:
tar - zvxf paniclogs.tgz
-rwxrwxrwx 1 root root 22359 Feb 22 15:03 kernel-panic-20190213020406-3.tgz
-rwxrwxrwx 1 root root 22971 Feb 22 15:03 kernel-panic-20190213020844-2.tgz
-rwxrwxrwx 1 root root 28344 Feb 22 15:03 kernel-panic-20190213101549-1.tgz
-rwxrwxrwx 1 root root 30683 Feb 22 15:03 kernel-panic-20190213154050-0.tgz
It extracts the logs but changes the timestamps to the date and time when I extracted them. This is not the case when I use Cygwin. I know there must be a way to extract these logs and preserve the time stamps. Can you please assist? Thank you.
tar
add a comment |
I have multiple .tgz kernel-panic logs that I must extract from one file. The timestamps for these .tgz files are important. Whenever I use the following:
tar - zvxf paniclogs.tgz
-rwxrwxrwx 1 root root 22359 Feb 22 15:03 kernel-panic-20190213020406-3.tgz
-rwxrwxrwx 1 root root 22971 Feb 22 15:03 kernel-panic-20190213020844-2.tgz
-rwxrwxrwx 1 root root 28344 Feb 22 15:03 kernel-panic-20190213101549-1.tgz
-rwxrwxrwx 1 root root 30683 Feb 22 15:03 kernel-panic-20190213154050-0.tgz
It extracts the logs but changes the timestamps to the date and time when I extracted them. This is not the case when I use Cygwin. I know there must be a way to extract these logs and preserve the time stamps. Can you please assist? Thank you.
tar
add a comment |
I have multiple .tgz kernel-panic logs that I must extract from one file. The timestamps for these .tgz files are important. Whenever I use the following:
tar - zvxf paniclogs.tgz
-rwxrwxrwx 1 root root 22359 Feb 22 15:03 kernel-panic-20190213020406-3.tgz
-rwxrwxrwx 1 root root 22971 Feb 22 15:03 kernel-panic-20190213020844-2.tgz
-rwxrwxrwx 1 root root 28344 Feb 22 15:03 kernel-panic-20190213101549-1.tgz
-rwxrwxrwx 1 root root 30683 Feb 22 15:03 kernel-panic-20190213154050-0.tgz
It extracts the logs but changes the timestamps to the date and time when I extracted them. This is not the case when I use Cygwin. I know there must be a way to extract these logs and preserve the time stamps. Can you please assist? Thank you.
tar
I have multiple .tgz kernel-panic logs that I must extract from one file. The timestamps for these .tgz files are important. Whenever I use the following:
tar - zvxf paniclogs.tgz
-rwxrwxrwx 1 root root 22359 Feb 22 15:03 kernel-panic-20190213020406-3.tgz
-rwxrwxrwx 1 root root 22971 Feb 22 15:03 kernel-panic-20190213020844-2.tgz
-rwxrwxrwx 1 root root 28344 Feb 22 15:03 kernel-panic-20190213101549-1.tgz
-rwxrwxrwx 1 root root 30683 Feb 22 15:03 kernel-panic-20190213154050-0.tgz
It extracts the logs but changes the timestamps to the date and time when I extracted them. This is not the case when I use Cygwin. I know there must be a way to extract these logs and preserve the time stamps. Can you please assist? Thank you.
tar
tar
asked Feb 22 at 22:06
Ryan GildersleeveRyan Gildersleeve
61
61
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
This cannot be done with GNU tar. However there is a lesser known utility star
, developed by Jörg Schilling, which will accomplish exactly what you are after. I will demonstrate how this works.
First we can examine a single file within a test tgz archive and demonstrate its timestamp, which I have highlighted below to make the terminal output perfectly clear:
andrew@ilium$ tar -tv --full-time -f test.tgz mp3enc31/readme.txt
-rw-r--r-- sir/inel 937 1998-11-06 00:28:41 mp3enc31/readme.txt
^^^^^^^^^^
As you have found when you extract this file in the customary manner with tar
the access time (and the change time) is altered. Again I have altered the terminal output to easily show this:
andrew@ilium~$ tar -xf test.tgz mp3enc31/readme.txt
andrew@ilium~$ stat mp3enc31/readme.txt
File: readme.txt
Size: 937 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 56885505 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ andrew) Gid: ( 100/ users)
Access: 2019-02-23 17:13:55.385500219 +1100 <--------------------
Modify: 1998-11-06 00:28:41.000000000 +1100
Change: 2019-02-23 17:13:55.385500219 +1100 <--------------------
Birth: -
andrew@ilium~$
However if we use the star
utility as sudo
, (note that sudo is required for the ctime modification) you will see that all access times are preserved:
andrew@ilium~$ sudo star -xza -ctime < test.tgz mp3enc31/readme.txt
star: 62 blocks + 0 bytes (total of 634880 bytes = 620.00k).
andrew@ilium~$ stat mp3enc31/readme.txt
File: readme.txt
Size: 937 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 59377688 Links: 1
Access: (0644/-rw-r--r--) Uid: (30076/ UNKNOWN) Gid: (30000/ UNKNOWN)
Access: 1998-11-06 00:28:41.000000000 +1100 <--------------------
Modify: 1998-11-06 00:28:41.000000000 +1100
Change: 1998-11-06 00:28:41.000000000 +1100 <--------------------
Birth: -
andrew@ilium~$
The star
man pages advise some caution with the -ctime
option as it can confuse cron, the news system and even slow the system clock. So just be a little careful!
References:
man pages for star: Documentation for all of the options used above and demonstration of the many other options available.
Thank you. I really appreciate the time and effort you put into your answer. I was really hoping for the same results I get when I use Cygwin to perform the same action. Do you have any idea as to why Cygwin can accomplish this usingtar -xf
by Ubuntu cannot?
– Ryan Gildersleeve
Feb 24 at 23:12
@RyanGildersleeve Unfortunately I am not familiar at all with Cygwin :(
– andrew.46
Feb 25 at 0:57
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1120494%2fpreserving-timestamps-when-extracting-tgz-logs%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
This cannot be done with GNU tar. However there is a lesser known utility star
, developed by Jörg Schilling, which will accomplish exactly what you are after. I will demonstrate how this works.
First we can examine a single file within a test tgz archive and demonstrate its timestamp, which I have highlighted below to make the terminal output perfectly clear:
andrew@ilium$ tar -tv --full-time -f test.tgz mp3enc31/readme.txt
-rw-r--r-- sir/inel 937 1998-11-06 00:28:41 mp3enc31/readme.txt
^^^^^^^^^^
As you have found when you extract this file in the customary manner with tar
the access time (and the change time) is altered. Again I have altered the terminal output to easily show this:
andrew@ilium~$ tar -xf test.tgz mp3enc31/readme.txt
andrew@ilium~$ stat mp3enc31/readme.txt
File: readme.txt
Size: 937 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 56885505 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ andrew) Gid: ( 100/ users)
Access: 2019-02-23 17:13:55.385500219 +1100 <--------------------
Modify: 1998-11-06 00:28:41.000000000 +1100
Change: 2019-02-23 17:13:55.385500219 +1100 <--------------------
Birth: -
andrew@ilium~$
However if we use the star
utility as sudo
, (note that sudo is required for the ctime modification) you will see that all access times are preserved:
andrew@ilium~$ sudo star -xza -ctime < test.tgz mp3enc31/readme.txt
star: 62 blocks + 0 bytes (total of 634880 bytes = 620.00k).
andrew@ilium~$ stat mp3enc31/readme.txt
File: readme.txt
Size: 937 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 59377688 Links: 1
Access: (0644/-rw-r--r--) Uid: (30076/ UNKNOWN) Gid: (30000/ UNKNOWN)
Access: 1998-11-06 00:28:41.000000000 +1100 <--------------------
Modify: 1998-11-06 00:28:41.000000000 +1100
Change: 1998-11-06 00:28:41.000000000 +1100 <--------------------
Birth: -
andrew@ilium~$
The star
man pages advise some caution with the -ctime
option as it can confuse cron, the news system and even slow the system clock. So just be a little careful!
References:
man pages for star: Documentation for all of the options used above and demonstration of the many other options available.
Thank you. I really appreciate the time and effort you put into your answer. I was really hoping for the same results I get when I use Cygwin to perform the same action. Do you have any idea as to why Cygwin can accomplish this usingtar -xf
by Ubuntu cannot?
– Ryan Gildersleeve
Feb 24 at 23:12
@RyanGildersleeve Unfortunately I am not familiar at all with Cygwin :(
– andrew.46
Feb 25 at 0:57
add a comment |
This cannot be done with GNU tar. However there is a lesser known utility star
, developed by Jörg Schilling, which will accomplish exactly what you are after. I will demonstrate how this works.
First we can examine a single file within a test tgz archive and demonstrate its timestamp, which I have highlighted below to make the terminal output perfectly clear:
andrew@ilium$ tar -tv --full-time -f test.tgz mp3enc31/readme.txt
-rw-r--r-- sir/inel 937 1998-11-06 00:28:41 mp3enc31/readme.txt
^^^^^^^^^^
As you have found when you extract this file in the customary manner with tar
the access time (and the change time) is altered. Again I have altered the terminal output to easily show this:
andrew@ilium~$ tar -xf test.tgz mp3enc31/readme.txt
andrew@ilium~$ stat mp3enc31/readme.txt
File: readme.txt
Size: 937 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 56885505 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ andrew) Gid: ( 100/ users)
Access: 2019-02-23 17:13:55.385500219 +1100 <--------------------
Modify: 1998-11-06 00:28:41.000000000 +1100
Change: 2019-02-23 17:13:55.385500219 +1100 <--------------------
Birth: -
andrew@ilium~$
However if we use the star
utility as sudo
, (note that sudo is required for the ctime modification) you will see that all access times are preserved:
andrew@ilium~$ sudo star -xza -ctime < test.tgz mp3enc31/readme.txt
star: 62 blocks + 0 bytes (total of 634880 bytes = 620.00k).
andrew@ilium~$ stat mp3enc31/readme.txt
File: readme.txt
Size: 937 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 59377688 Links: 1
Access: (0644/-rw-r--r--) Uid: (30076/ UNKNOWN) Gid: (30000/ UNKNOWN)
Access: 1998-11-06 00:28:41.000000000 +1100 <--------------------
Modify: 1998-11-06 00:28:41.000000000 +1100
Change: 1998-11-06 00:28:41.000000000 +1100 <--------------------
Birth: -
andrew@ilium~$
The star
man pages advise some caution with the -ctime
option as it can confuse cron, the news system and even slow the system clock. So just be a little careful!
References:
man pages for star: Documentation for all of the options used above and demonstration of the many other options available.
Thank you. I really appreciate the time and effort you put into your answer. I was really hoping for the same results I get when I use Cygwin to perform the same action. Do you have any idea as to why Cygwin can accomplish this usingtar -xf
by Ubuntu cannot?
– Ryan Gildersleeve
Feb 24 at 23:12
@RyanGildersleeve Unfortunately I am not familiar at all with Cygwin :(
– andrew.46
Feb 25 at 0:57
add a comment |
This cannot be done with GNU tar. However there is a lesser known utility star
, developed by Jörg Schilling, which will accomplish exactly what you are after. I will demonstrate how this works.
First we can examine a single file within a test tgz archive and demonstrate its timestamp, which I have highlighted below to make the terminal output perfectly clear:
andrew@ilium$ tar -tv --full-time -f test.tgz mp3enc31/readme.txt
-rw-r--r-- sir/inel 937 1998-11-06 00:28:41 mp3enc31/readme.txt
^^^^^^^^^^
As you have found when you extract this file in the customary manner with tar
the access time (and the change time) is altered. Again I have altered the terminal output to easily show this:
andrew@ilium~$ tar -xf test.tgz mp3enc31/readme.txt
andrew@ilium~$ stat mp3enc31/readme.txt
File: readme.txt
Size: 937 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 56885505 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ andrew) Gid: ( 100/ users)
Access: 2019-02-23 17:13:55.385500219 +1100 <--------------------
Modify: 1998-11-06 00:28:41.000000000 +1100
Change: 2019-02-23 17:13:55.385500219 +1100 <--------------------
Birth: -
andrew@ilium~$
However if we use the star
utility as sudo
, (note that sudo is required for the ctime modification) you will see that all access times are preserved:
andrew@ilium~$ sudo star -xza -ctime < test.tgz mp3enc31/readme.txt
star: 62 blocks + 0 bytes (total of 634880 bytes = 620.00k).
andrew@ilium~$ stat mp3enc31/readme.txt
File: readme.txt
Size: 937 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 59377688 Links: 1
Access: (0644/-rw-r--r--) Uid: (30076/ UNKNOWN) Gid: (30000/ UNKNOWN)
Access: 1998-11-06 00:28:41.000000000 +1100 <--------------------
Modify: 1998-11-06 00:28:41.000000000 +1100
Change: 1998-11-06 00:28:41.000000000 +1100 <--------------------
Birth: -
andrew@ilium~$
The star
man pages advise some caution with the -ctime
option as it can confuse cron, the news system and even slow the system clock. So just be a little careful!
References:
man pages for star: Documentation for all of the options used above and demonstration of the many other options available.
This cannot be done with GNU tar. However there is a lesser known utility star
, developed by Jörg Schilling, which will accomplish exactly what you are after. I will demonstrate how this works.
First we can examine a single file within a test tgz archive and demonstrate its timestamp, which I have highlighted below to make the terminal output perfectly clear:
andrew@ilium$ tar -tv --full-time -f test.tgz mp3enc31/readme.txt
-rw-r--r-- sir/inel 937 1998-11-06 00:28:41 mp3enc31/readme.txt
^^^^^^^^^^
As you have found when you extract this file in the customary manner with tar
the access time (and the change time) is altered. Again I have altered the terminal output to easily show this:
andrew@ilium~$ tar -xf test.tgz mp3enc31/readme.txt
andrew@ilium~$ stat mp3enc31/readme.txt
File: readme.txt
Size: 937 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 56885505 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ andrew) Gid: ( 100/ users)
Access: 2019-02-23 17:13:55.385500219 +1100 <--------------------
Modify: 1998-11-06 00:28:41.000000000 +1100
Change: 2019-02-23 17:13:55.385500219 +1100 <--------------------
Birth: -
andrew@ilium~$
However if we use the star
utility as sudo
, (note that sudo is required for the ctime modification) you will see that all access times are preserved:
andrew@ilium~$ sudo star -xza -ctime < test.tgz mp3enc31/readme.txt
star: 62 blocks + 0 bytes (total of 634880 bytes = 620.00k).
andrew@ilium~$ stat mp3enc31/readme.txt
File: readme.txt
Size: 937 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 59377688 Links: 1
Access: (0644/-rw-r--r--) Uid: (30076/ UNKNOWN) Gid: (30000/ UNKNOWN)
Access: 1998-11-06 00:28:41.000000000 +1100 <--------------------
Modify: 1998-11-06 00:28:41.000000000 +1100
Change: 1998-11-06 00:28:41.000000000 +1100 <--------------------
Birth: -
andrew@ilium~$
The star
man pages advise some caution with the -ctime
option as it can confuse cron, the news system and even slow the system clock. So just be a little careful!
References:
man pages for star: Documentation for all of the options used above and demonstration of the many other options available.
edited Mar 7 at 23:40
answered Feb 23 at 6:30
andrew.46andrew.46
22.2k1470150
22.2k1470150
Thank you. I really appreciate the time and effort you put into your answer. I was really hoping for the same results I get when I use Cygwin to perform the same action. Do you have any idea as to why Cygwin can accomplish this usingtar -xf
by Ubuntu cannot?
– Ryan Gildersleeve
Feb 24 at 23:12
@RyanGildersleeve Unfortunately I am not familiar at all with Cygwin :(
– andrew.46
Feb 25 at 0:57
add a comment |
Thank you. I really appreciate the time and effort you put into your answer. I was really hoping for the same results I get when I use Cygwin to perform the same action. Do you have any idea as to why Cygwin can accomplish this usingtar -xf
by Ubuntu cannot?
– Ryan Gildersleeve
Feb 24 at 23:12
@RyanGildersleeve Unfortunately I am not familiar at all with Cygwin :(
– andrew.46
Feb 25 at 0:57
Thank you. I really appreciate the time and effort you put into your answer. I was really hoping for the same results I get when I use Cygwin to perform the same action. Do you have any idea as to why Cygwin can accomplish this using
tar -xf
by Ubuntu cannot?– Ryan Gildersleeve
Feb 24 at 23:12
Thank you. I really appreciate the time and effort you put into your answer. I was really hoping for the same results I get when I use Cygwin to perform the same action. Do you have any idea as to why Cygwin can accomplish this using
tar -xf
by Ubuntu cannot?– Ryan Gildersleeve
Feb 24 at 23:12
@RyanGildersleeve Unfortunately I am not familiar at all with Cygwin :(
– andrew.46
Feb 25 at 0:57
@RyanGildersleeve Unfortunately I am not familiar at all with Cygwin :(
– andrew.46
Feb 25 at 0:57
add a comment |
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1120494%2fpreserving-timestamps-when-extracting-tgz-logs%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown