Is it possible to find out the installation and unmounting time of a device in Ubuntu?

From dmesgwe can know that a particular device is mounted or unmounted.

But I want to know at what time the device was mounted or unmounted.

+4
source share
2 answers

Solution 1:

dmesg the output does not have human readable information

Instead of using it, dmesgyou can use access to the kernel log and filter it according to your needs.

eg. Ubuntu, Debian stores the kernel log in/var/log/kern.log

cat /var/log/kern.log | grep "usb"

He will give a result, for example,

Apr 30 11:42:23 debian kernel: [ 1537.984584] usb 1-1.1: USB disconnect, device number 3
Apr 30 11:42:23 debian kernel: [ 1538.207012] usb 1-1.1: new low-speed USB device number 5 using ehci_hcd
Apr 30 11:42:29 debian kernel: [ 1543.409629] usb 1-1.1: new low-speed USB device number 6 using ehci_hcd
Apr 30 11:42:29 debian kernel: [ 1543.504880] usb 1-1.1: New USB device found, idVendor=04f3, idProduct=0235
Apr 30 11:42:29 debian kernel: [ 1543.504885] usb 1-1.1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
Apr 30 11:42:29 debian kernel: [ 1543.504888] usb 1-1.1: Product: OM

Solution 2:

I found one perl script to convert dmesgdate-time to human-readable.

,

#!/usr/bin/perl

use strict;
use warnings;

my @dmesg_new = ();
my $dmesg = "/bin/dmesg";
my @dmesg_old = `$dmesg`;
my $now = time();
my $uptime = `cat /proc/uptime | cut -d"." -f1`;
my $t_now = $now - $uptime;

sub format_time {
 my @time = localtime $_[0];
 $time[4]+=1;    # Adjust Month
 $time[5]+=1900;    # Adjust Year
 return sprintf '%4i-%02i-%02i %02i:%02i:%02i', @time[reverse 0..5];
}

foreach my $line ( @dmesg_old )
{
 chomp( $line );
 if( $line =~ m/\[\s*(\d+)\.(\d+)\](.*)/i )
 {
 # now - uptime + sekunden
 my $t_time = format_time( $t_now + $1 );
 push( @dmesg_new , "[$t_time] $3" );
 }
}

print join( "\n", @dmesg_new );
print "\n";

.

$chmod a+x script.pl
$./script.pl

[ :]

[2014-04-30 11:17:27]  eth0: no IPv6 routers present
[2014-04-30 11:42:18]  hub 1-1:1.0: port 1 disabled by hub (EMI?), re-enabling...
[2014-04-30 11:42:18]  usb 1-1.1: USB disconnect, device number 3
[2014-04-30 11:42:19]  usb 1-1.1: new low-speed USB device number 5 using ehci_hcd
[2014-04-30 11:42:24]  hub 1-1:1.0: unable to enumerate USB device on port 1
[2014-04-30 11:42:24]  usb 1-1.1: new low-speed USB device number 6 using ehci_hcd
[2014-04-30 11:42:24]  usb 1-1.1: New USB device found, idVendor=04f3, idProduct=0235
[2014-04-30 11:42:24]  usb 1-1.1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[2014-04-30 11:42:24]  usb 1-1.1: Product: OM
[2014-04-30 11:42:24]  input: OM as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input11
[2014-04-30 11:42:24]  generic-usb 0003:04F3:0235.0004: input,hidraw0: USB HID v1.11 Mouse [OM] on usb-0000:00:1a.0-1.1/input0

3: -T dmesg

dmesg -T. Debian, Ubuntu. .

[ ]

   -T, --ctime
          Print human readable timestamps. The timestamp could be inaccurate!

          The time source used for the logs is not updated after system SUSPEND/RESUME.
+3

linux /var/log . . Kernel . kern.log. , kern.log, kern.log.1 , , kern.log.2.gz

+1
source

Source: https://habr.com/ru/post/1538684/


All Articles