linux命令logger、dmesg、last(b)、lastlog、

2018-07-06 13:50:00

logger 命令用来发送 syslog 到本地 rsyslog或远程。

-n 指定远程地址
-d udp
-T tcp
-P 端口

-i 带上进程id
-p 指定priority,默认为user.notice
-s 复制一份到stderr

-t 每条日志带上这个标签

-f 指定文件里的内容为日志内容

不带上-f也没有指定日志内容,则从stdin读取
#priority
kern		内核
user		使用者层级产生的信息
mail		邮件相关
daemon		系统服务相关
auth		认证相关
syslog		rsyslogd产生
cron		crontab信息
authpriv	类似auth,但是记录更多信息
ftp		ftp相关
local0-local7	保留给本机用户

debug,info,notice,warn,err,crit,alert,emerg


/etc/rsyslog.conf 部分如下,详细解释可以参考这篇文章 linux c使用syslog记录消息

*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
#向本机发送syslog消息
logger -t dailei -p cron.info test

#/var/log/cron记录如下
Jul  6 01:11:32 192 dailei: test
#向机器192.168.1.10 tcp端口为514发送
logger -t dailei -p cron.info test -s -T -P 514 -n 192.168.1.10


dmesg 默认会读取 /dev/kmsg 文件的的内存缓冲区系统错误日志。

-h 帮助

-c 读取一次后清除缓冲区
-C 直接清除

-H 以less方式读取,并附加彩色。
#读取显示
dmesg

#读取显示一次,并清除
dmesg -c


last 命令用来显示最近的用户登录成功记录,也可以看到在线人数,默认会读取 /var/log/wtmp 文件。

-n	显示最新的几行
-F	显示完整的登入登出时间
-i	数字显示地址
-f	指定读取的日志文件(默认为/var/log/wtmp)

-a      host地址显示在最后

still logged in 代表用户在线

down	代表用户一直都在直到关机或重启
crash   代表异常退出
#显示最新20条
last -n 20

#显示特定用户
last root

#显示特定终端
last tty1
last pts/0

lastb 指令默认会读取 /var/log/btmp 文件,表示登录失败的日志,参数跟上面的 last 一样。

[root@izj6cfw9yi1iqoik31tqbgz ~]# lastb -n 10
root     ssh:notty    59.63.166.105    Fri Jul  6 13:31 - 13:31  (00:00)    
root     ssh:notty    59.63.166.105    Fri Jul  6 13:31 - 13:31  (00:00)    
root     ssh:notty    59.63.166.105    Fri Jul  6 13:23 - 13:23  (00:00)    
root     ssh:notty    59.63.166.105    Fri Jul  6 13:23 - 13:23  (00:00)    
root     ssh:notty    59.63.166.105    Fri Jul  6 13:23 - 13:23  (00:00)    
root     ssh:notty    59.63.166.105    Fri Jul  6 13:11 - 13:11  (00:00)    
root     ssh:notty    59.63.166.105    Fri Jul  6 13:11 - 13:11  (00:00)    
root     ssh:notty    59.63.166.105    Fri Jul  6 13:11 - 13:11  (00:00)    
root     ssh:notty    59.63.166.105    Fri Jul  6 12:59 - 12:59  (00:00)    
root     ssh:notty    59.63.166.105    Fri Jul  6 12:59 - 12:59  (00:00)

lastlog 命令会读取 /var/log/lastlog,每个用户只记录最近一次登录信息。

-u 指定用户
[root@izj6cfw9yi1iqoik31tqbgz ~]# lastlog
Username         Port     From             Latest
root             pts/0    39.181.130.112   Fri Jul  6 08:57:44 +0800 2018
...
nobody           pts/2                     Thu Jun 14 21:16:31 +0800 2018
...
freecls          pts/1    39.181.130.112   Fri Jul  6 09:01:52 +0800 2018

who 命令也可以显示目前谁登录机器。

[freecls@izj6cfw9yi1iqoik31tqbgz features]$ who am i
freecls  pts/1        2018-07-06 09:01 (39.181.130.112)
[freecls@izj6cfw9yi1iqoik31tqbgz features]$ who
root     tty1         2018-06-08 05:52
root     pts/0        2018-07-06 08:57 (39.181.130.112)
freecls  pts/1        2018-07-06 09:01 (39.181.130.112)
#利用上面的last指令也可以实现
[freecls@izj6cfw9yi1iqoik31tqbgz features]$ last | grep still
freecls  pts/1        39.181.130.112   Fri Jul  6 09:01   still logged in   
root     pts/0        39.181.130.112   Fri Jul  6 08:57   still logged in   
root     tty1                          Fri Jun  8 05:52   still logged in


备注:
1.本系列命令都在centos7里测试,其他发行版如ubuntu、debian、fedora、opensuse等可能略微不同
2.本文只讲解常用用法,详细用法请自行利用 man 命令查看
3.原文地址http://www.freecls.com/a/2712/8a


©著作权归作者所有
收藏
推荐阅读
  • linux命令iftop、netstat、ss、tcpdump

    iftop 命令可以用来监控带宽流量的使用情况。-h 帮助 -n 不解析域名 -N 数字显示端口 -P Turn on port display -B bytes/sec...

  • linux命令at、crontab、anacron

    延后执行任务at 命令可以让我们的工作延后在某一特定时刻执行。要支持 at 这个单一工作调度,我么必须要运行 atd 这个服务(一般这个服务都是自动运行了的,如果服务已运行,忽略下面3行)。yum i...

  • linux命令date、time

    date 命令可以显示设置日期和时间。-d 根据指定的字符串来显示时间,必须加上双引号 -s 根据指定的字符串来设置时间 -u 根据utc显示和设置 -R 以 RFC 2822格式输出时间<...

  • linux命令man、locale、selinux

    man 命令可以提供命令或者是c库函数等参考手册,man手册按章节(section)来记录不同类型的页。如果不指定章节,默认按照特定的顺序搜索全部章节,并停留在第一个找到的章节里。下面是对各个章节的解...

  • linux资源限制命令 - ulimit

    ulimit 可以修改当前bash环境的资源限制,这样在当前会话下运行的程序都会继承这些资源限制,默认情况下即设置 软限制,也设置 硬限制,软限制与硬限制的区别读者可以参考linux c进程资源。资源...

  • nginx模块 ngx_http_headers_module

    ngx_http_headers_module 模块是用来增加 Expires 和 Cache-control,或者是任意的响应头。Syntax: add_header name value [alw...

  • nginx模块 ngx_http_gunzip_module、ngx_http_gzip_module、ngx_http_gzip_static_module

    ngx_http_gunzip_module 模块将文件解压缩后并在响应头加上 "Content-Encoding: gzip" 返回给客户端。为了解决客户端不支持gzip压缩。编译的时候带上 --w...

  • nginx模块 ngx_http_flv_module、ngx_http_mp4_module

    ngx_http_flv_module模块提供了对 flv 视频的伪流支持。编译的时候带上 --with-http_flv_module。它会根据指定的 start 参数来指定跳过多少字节,并在返回数...

  • nginx模块 ngx_http_fastcgi_module

    ngx_http_fastcgi_module 模块使得nginx可以与 fastcgi 服务器通信。比如目前要使得 nginx 支持 php 就得使用 fastcgi技术,在服务器上装上 nginx...

  • nginx模块 ngx_http_autoindex_module

    ngx_http_autoindex_module 模块可以将uri以 / 结尾时,列出里面的文件和目录。Syntax: autoindex on | off; Default: autoindex ...

简介
天降大任于斯人也,必先苦其心志。