首页 > 代码库 > Ubuntu查看和写入系统日志

Ubuntu查看和写入系统日志

一、背景

Linux将大量事件记录到磁盘上,它们大部分以纯文本形式存储在/var/log目录中。大多数日志条目通过系统日志守护进程syslogd,并被写入系统日志。

Ubuntu包括以图形方式或从命令行查看这些日志的方法。你也可以将自己的日志消息写入系统日志,在脚本中特别有用。

二、以图形方式查看日志

要使用易于使用的图形应用程序查看日志文件,请从Dash打开Log File Viewer应用程序。

技术分享

日志文件查看器默认显示多个日志,包括系统日志(syslog),软件包管理器日志(dpkg.log),身份验证日志(auth.log)和图形服务器日志(Xorg.0.log)。你可以在单个窗口中查看所有日志,当添加新的日志事件时,它将自动显示在窗口中,并将加粗。你还可以按Ctrl+F搜索日志消息或使用过滤器菜单过滤日志。

技术分享

如果你有其他要查看的日志文件(例如,特定应用程序的日志文件),可以单击“文件”菜单,选择“打开”,然后打开日志文件。它将与列表中的其他日志文件一起显示,并将被监视并自动更新,如其他日志。

技术分享

三、写入系统日志

记录器工具可以让你快速写邮件到你的系统日志与一个单一的、简单的命令。例如,要将消息Hello World写入你的系统日志,请使用以下命令:

logger “Hello World”

技术分享

你可能还需要指定其他信息,例如,如果你在脚本中使用logger命令,则可能需要包含脚本的名称:

logger –t ScriptName “Hello World”

四、在终端中查看日志

dmesg的命令显示Linux内核的消息缓冲器,其被存储在存储器中。运行这个命令,你会得到很多的输出。

技术分享

要过滤此输出并搜索你感兴趣的消息,你可以将使用管道grep

dmesg | grep something

你还可以将dmesg命令的输出管道用less,这样可以按照你自己的速度滚动浏览消息。要退出less,请按Q

dmesg | less

技术分享

如果一个grep搜索产生大量的结果,你可以将其输出管道用less:

dmesg | grep something | less

除了在任何文本编辑器中打开位于/var/log中的日志文件之外,还可以使用cat命令将日志(或任何其他文件)的内容打印到终端:

cat /var/log/syslog 

像上面的dmesg命令一样,这将产生大量的输出。你可以使用grepless命令来处理输出:

grep something /var/log/syslogless /var/log/syslog

其他有用的命令包括命令。头打印文件中的前n行,而尾部打印文件中的最后n行,如果要查看最近的日志消息,则tail命令特别有用。

head -n 10 /var/log/syslogtail -n 10 /var/log/syslog

技术分享

某些应用程序可能不会写入系统日志,并且可能会产生自己的日志文件,你可以使用相同的方式进行操作,通常也可以在/var/log目录中找到它们。例如,Apache Web服务器创建一个包含其日志的/var/log/apache2目录。

五、常用日志目录代表的意思

=> /var/log/messages:常规日志消息=> /var/log/boot:系统启动日志=> /var/log/debug:调试日志消息=> /var/log/auth.log:用户登录和身份验证日志=> /var/log/daemon.log:运行squid,ntpd等其他日志消息到这个文件=> /var/log/dmesg:Linux内核环缓存日志=> /var/log/dpkg.log:所有二进制包日志都包括程序包安装和其他信息=> /var/log/faillog:用户登录日志文件失败=> /var/log/kern.log:内核日志文件=> /var/log/lpr.log:打印机日志文件=> /var/log/mail.*:所有邮件服务器消息日志文件=> /var/log/mysql.*:MySQL服务器日志文件=> /var/log/user.log:所有用户级日志=> /var/log/xorg.0.log:X.org日志文件=> /var/log/apache2/*:Apache Web服务器日志文件目录=> /var/log/lighttpd/*:Lighttpd Web服务器日志文件目录=> /var/log/fsck/*:fsck命令日志=> /var/log/apport.log:应用程序崩溃报告/日志文件
=> /var/log/syslog:系统日志
=> /var/log/ufw:ufw防火墙日志
=> /var/log/gufw:gufw防火墙日志
#使用tail,more,less和grep命令。tail -f /var/log/apport.logmore /var/log/xorg.0.logcat /var/log/mysql.errless /var/log/messagesgrep -i fail /var/log/boot

 

  

参考:

https://www.howtogeek.com/117878/how-to-view-write-to-system-log-files-on-ubuntu/(上面大部分内容翻译自这篇文章)

http://blog.csdn.net/nancygreen/article/details/9873895

http://www.169it.com/article/6268721738005395678.html

http://www.linuxidc.com/Linux/2015-04/116532.htm

http://www.jb51.net/LINUXjishu/378593.html

https://www.cyberciti.biz/faq/ubuntu-linux-gnome-system-log-viewer/(以上日志目录转自此篇文章)

Ubuntu查看和写入系统日志