练习 18:日志:/var/log,rsyslog,logger
来源:互联网 发布:建筑信息模型软件培训 编辑:程序博客网 时间:2024/05/17 02:00
守护进程是在后台运行的程序。所以问题来了:他们怎么告诉你他们在做什么?他们如何告诉你有什么问题?这个问题是由日志文件解决的,其中守护进程写入其状态和操作。在 Debian 中,这个文件位于/var/log
目录下。
但谁写入这些文件?最明显的答案是守护进程本身,这实际上往往是错误的。在某些情况下,守护程序确实会自己编写日志文件,但通常它们通过名为rsyslogd
的守护程序(称为 日志记录守护程序)来实现。它将日志写入不同的文件,来简化搜索和分析。为了区分这个文件,它有一个概念叫做“设施”。这是标准设施的列表:
每个条目也标记有严重性状态,以便分析发生了什么:
因为如果日志文件留给自己,它们往往会变得非常大,并且消耗所有可用的磁盘空间,所以有一种称为轮替的机制。默认情况下,这种机制通常只保留最后 7 天的日志文件,包括今天。轮替由logrotate
守护进程执行,来帮助你了解这个守护进程做了什么。我为你将其写出来:
Day 0 log.0 is createdDay 1 mv log.0 log.1 log.0 is createdDay 2 mv log.1 log.2 mv log.0 log.1 log.0 is createdDay 3 mv log.2 log.3 mv log.1 log.2 mv log.0 log.1 log.0 is createdDay 4 mv log.3 log.4 mv log.2 log.3 mv log.1 log.2 mv log.0 log.1 log.0 is createdDay 5 mv log.4 log.5 mv log.3 log.4 mv log.2 log.3 mv log.1 log.2 mv log.0 log.1 log.0 is createdDay 6 mv log.5 log.6 mv log.4 log.5 mv log.3 log.4 mv log.2 log.3 mv log.1 log.2 mv log.0 log.1 log.0 is createdDay 7 rm log.6 mv log.5 log.6 mv log.4 log.5 mv log.3 log.4 mv log.2 log.3 mv log.1 log.2 mv log.0 log.1 log.0 is created
让我重复一下:
- 日志是一个记录时间的过程,使用自动化的计算机程序,来提供审计跟踪,可用于了解系统活动和诊断问题。
- 日志守护程序是程序,其他程序可能要求它在日志文件中写入内容。
- 每个日志条目具有设施(日志类别)和严重性 (它是多么重要)属性。
- 轮替是一个过程,仅保留有限数量的日志文件,来避免填满磁盘。
- 在 Debian 中,日志文件通常位于
/var/log
目录中。
这是处理日志的有用命令(要记住打开相关的手册页,并找出有什么选项):
logger Hello, I have a kitty!
- 编写一个自定义日志消息。ls -altr /var/log
- 列出日志目录,以这样一种方式,最后修改的文件到最后。grep user1 /var/log/auth.log
- 列出文件中包含user1
的所有行。grep -irl user1 /var/log
- 列出所有包含user1
的文件 。find /var/log -mmin -10
- 找到在过去 10 分钟内被修改的任何文件。tail /var/log/auth.log
- 打印日志文件的最后 10 行。tail -f /var/log/auth.log
- 实时跟踪日志文件。配置守护进程时非常有用。
现在你将学习如何查看日志,并将一些东西写入系统日志。
这样做
1: sudo -s 2: cd /var/log 3: ls -altr | tail 4: tail auth.log 5: grep user1 auth.log | tail 6: /etc/init.d/exim4 restart 7: find /var/log -mmin -5 8: tail /var/log/exim4/mainlog 9: grep -irl rcconf .10: tail ./dpkg.log11: last12: lastlog13: logger local0.alert I am a kitty, sittin in ur system watchin u work ^^14: ls -altr | tail15: tail messages
你会看到什么
user1@vm1:~$ sudo -sroot@vm1:/home/user1# cd /var/logroot@vm1:/var/log# ls -altr | tail-rw-r----- 1 root adm 46955 Jun 29 12:28 messages-rw-r----- 1 root adm 19744 Jun 29 12:28 dmesg-rw-r----- 1 root adm 696 Jun 29 12:28 daemon.logdrwxr-xr-x 7 root root 4096 Jun 29 12:28 .-rw-r----- 1 root adm 60738 Jun 29 12:28 syslog-rw-r----- 1 root adm 58158 Jun 29 12:28 kern.log-rw-r----- 1 root adm 12652 Jun 29 12:28 debug-rw-rw-r-- 1 root utmp 75264 Jun 29 12:28 wtmp-rw-rw-r-- 1 root utmp 292584 Jun 29 12:28 lastlog-rw-r----- 1 root adm 38790 Jun 29 12:40 auth.logroot@vm1:/var/log# tail auth.logJun 29 12:28:22 vm1 sshd[983]: Server listening on 0.0.0.0 port 22.Jun 29 12:28:22 vm1 sshd[983]: Server listening on :: port 22.Jun 29 12:28:44 vm1 sshd[1214]: Accepted password for user1 from 194.85.195.183 port 53775 ssh2Jun 29 12:28:44 vm1 sshd[1214]: pam_unix(sshd:session): session opened for user user1 by (uid=0)Jun 29 12:30:49 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashJun 29 12:30:53 vm1 login[1260]: pam_securetty(login:auth): unexpected response from failed conversation functionJun 29 12:30:53 vm1 login[1260]: pam_securetty(login:auth): cannot determine usernameJun 29 12:35:08 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashJun 29 12:35:14 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashJun 29 12:40:32 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashroot@vm1:/var/log# tail auth.log | grep user1Jun 29 12:28:44 vm1 sshd[1214]: Accepted password for user1 from 194.85.195.183 port 53775 ssh2Jun 29 12:28:44 vm1 sshd[1214]: pam_unix(sshd:session): session opened for user user1 by (uid=0)Jun 29 12:30:49 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashJun 29 12:35:08 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashJun 29 12:35:14 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashJun 29 12:40:32 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashroot@vm1:/var/log# grep user1 auth.log | tailJun 29 12:26:33 vm1 sshd[1302]: Accepted password for user1 from 194.85.195.183 port 53008 ssh2Jun 29 12:26:33 vm1 sshd[1302]: pam_unix(sshd:session): session opened for user user1 by (uid=0)Jun 29 12:26:38 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashJun 29 12:28:02 vm1 sshd[1302]: pam_unix(sshd:session): session closed for user user1Jun 29 12:28:44 vm1 sshd[1214]: Accepted password for user1 from 194.85.195.183 port 53775 ssh2Jun 29 12:28:44 vm1 sshd[1214]: pam_unix(sshd:session): session opened for user user1 by (uid=0)Jun 29 12:30:49 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashJun 29 12:35:08 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashJun 29 12:35:14 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashJun 29 12:40:32 vm1 sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bashroot@vm1:/home/user1# /etc/init.d/exim4 restartStopping MTA for restart: exim4_listener.Restarting MTA: exim4.root@vm1:/home/user1# find /var/log -mmin -5/var/log/exim4/mainlog/var/log/auth.logroot@vm1:/home/user1# tail /var/log/exim4/mainlog2012-06-29 12:24:11 exim 4.72 daemon started: pid=1159, -q30m, listening for SMTP on [127.0.0.1]:25 [::1]:252012-06-29 12:24:11 Start queue run: pid=11652012-06-29 12:24:11 End queue run: pid=11652012-06-29 12:28:22 exim 4.72 daemon started: pid=1190, -q30m, listening for SMTP on [127.0.0.1]:25 [::1]:252012-06-29 12:28:22 Start queue run: pid=11962012-06-29 12:28:22 End queue run: pid=11962012-06-29 12:41:18 exim 4.72 daemon started: pid=1622, -q30m, listening for SMTP on [127.0.0.1]:25 [::1]:252012-06-29 12:41:18 Start queue run: pid=16242012-06-29 12:41:18 End queue run: pid=16242012-06-29 12:42:28 exim 4.72 daemon started: pid=1886, -q30m, listening for SMTP on [127.0.0.1]:25 [::1]:25root@vm1:/home/user1# grep -irl rcconf ../aptitude./apt/history.log./apt/term.log./dpkg.log./auth.logroot@vm1:/home/user1# tail ./dpkg.log2012-06-26 19:27:40 status unpacked rcconf 2.52012-06-26 19:27:40 status unpacked rcconf 2.52012-06-26 19:27:40 trigproc man-db 2.5.7-8 2.5.7-82012-06-26 19:27:40 status half-configured man-db 2.5.7-82012-06-26 19:27:40 status installed man-db 2.5.7-82012-06-26 19:27:41 startup packages configure2012-06-26 19:27:41 configure rcconf 2.5 2.52012-06-26 19:27:41 status unpacked rcconf 2.52012-06-26 19:27:41 status half-configured rcconf 2.52012-06-26 19:27:41 status installed rcconf 2.5root@vm1:/var/log# lastuser1 pts/0 sis.site Fri Jun 29 12:26 still logged inuser1 pts/0 sis.site Fri Jun 29 12:14 - down (00:09)user1 pts/0 sis.site Thu Jun 28 19:40 - 11:25 (15:45)user1 pts/0 sis.site Wed Jun 27 19:14 - 17:04 (21:50)user1 pts/0 sis.site Tue Jun 26 13:54 - 18:18 (1+04:23)user1 pts/0 sis.site Thu Jun 21 15:23 - 13:11 (4+21:47)user1 pts/0 sis.site Fri Jun 15 19:34 - 12:01 (5+16:26)user1 pts/0 sis.site Fri Jun 15 19:11 - 19:34 (00:22)reboot system boot 2.6.32-5-amd64 Fri Jun 29 12:24 - 12:26 (00:02)user1 pts/0 sis.site Fri Jun 29 12:14 - down (00:09)root@vm1:/var/log# lastlogUsername Port From Latestroot **Never logged in**daemon **Never logged in**bin **Never logged in**sys **Never logged in**sync **Never logged in**games **Never logged in**man **Never logged in**lp **Never logged in**mail **Never logged in**news **Never logged in**uucp **Never logged in**proxy **Never logged in**www-data **Never logged in**backup **Never logged in**list **Never logged in**irc **Never logged in**gnats **Never logged in**nobody **Never logged in**libuuid **Never logged in**Debian-exim **Never logged in**statd **Never logged in**sshd **Never logged in**user1 pts/0 sis.site Fri Jun 29 12:28:45 +0400 2012root@vm1:/var/log# logger local0.alert I am a kitty, sittin in ur system watchin u work ^^root@vm1:/var/log# ls -altr | tail-rw-r----- 1 root adm 696 Jun 29 12:28 daemon.logdrwxr-xr-x 7 root root 4096 Jun 29 12:28 .-rw-r----- 1 root adm 58158 Jun 29 12:28 kern.log-rw-r----- 1 root adm 12652 Jun 29 12:28 debug-rw-rw-r-- 1 root utmp 75264 Jun 29 12:28 wtmp-rw-rw-r-- 1 root utmp 292584 Jun 29 12:28 lastlog-rw-r----- 1 root adm 38971 Jun 29 13:17 auth.log-rw-r----- 1 root adm 229 Jun 29 13:19 user.log-rw-r----- 1 root adm 60932 Jun 29 13:19 syslog-rw-r----- 1 root adm 47047 Jun 29 13:19 messagesroot@vm1:/var/log# tail messagesJun 29 12:28:21 vm1 kernel: [ 1.846975] processor LNXCPU:00: registered as cooling_device0Jun 29 12:28:21 vm1 kernel: [ 1.868828] usbcore: registered new interface driver hiddevJun 29 12:28:21 vm1 kernel: [ 1.895676] input: QEMU 0.14.1 QEMU USB Tablet as /devices/pci0000:00/0000:00:01.2/usb1/1-1/1-1:1.0/input/input4Jun 29 12:28:21 vm1 kernel: [ 1.895743] generic-usb 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Pointer [QEMU 0.14.1 QEMU USB Tablet] on usb-0000:00:01.2-1/input0Jun 29 12:28:21 vm1 kernel: [ 1.895762] usbcore: registered new interface driver usbhidJun 29 12:28:21 vm1 kernel: [ 1.895765] usbhid: v2.6:USB HID core driverJun 29 12:28:21 vm1 kernel: [ 2.373061] EXT3 FS on vda1, internal journalJun 29 12:28:21 vm1 kernel: [ 2.394992] loop: module loadedJun 29 12:28:21 vm1 kernel: [ 2.413478] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8042/serio1/input/input5Jun 29 13:19:11 vm1 user1: local0.alert I am a kitty, sittin in ur system watchin u work ^^root@vm1:/var/log#
解释
- 打开 root (超级用户)shell。这是因为作为
user1
工作时,出于安全的考虑,你不能读取所有日志文件。 - 将目录更改为
/var/log
。 - 按日期排序打印所有文件,最后修改的文件在底部。
- 从
auth.log
打印最后 10 行,包含登录系统的信息。 - 从
auth.log
打印包含user1
的最后 10 行。 - 重启
exim4
邮件服务器。 - 打印最近 5 分钟内的文件更改。现在,你可以轻松找到
exim4
在哪个文件中 记录其操作。 - 从
exim4
日志打印出最后 10 行 。 - 在当前目录中的所有文件 搜索
rcconf
。现在,你可以轻松找到 Debian 包系统记录其操作的位置。 - 从
dpkg.log
打印最后 10 行,含有软件包安装和删除信息。 - 打印用户最后登录的信息。
- 打印所有用户最近登录的信息。
- 将你的消息传递给
rsyslogd
守护程序。 - 按日期排序打印所有文件,最后修改的文件位于底部。现在你可能会看到这里就是你的消息。
- 从消息中打印出最后10行,你可以看到你的消息确实已记录。
阅读全文
0 0
- 练习 18:日志:/var/log,rsyslog,logger
- rsyslog 不打印日志到/var/log/messages
- log日志新玩意Logger
- linux - /var/log 日志文件
- /var/log/messages日志分析
- Logger 漂亮的日志输出log
- linux /var/log下的日志[RHEL]
- /var/log/secure不记录日志
- /var/log/secure 日志不记录问题
- /var/log/ 日志文件功能详解
- ubuntu/var/log/下各个日志文件
- /var/log/secure 日志不记录问题
- ubuntu/var/log/下各个日志文件
- ubuntu/var/log/下各个日志文件
- /var/log目录下的Linux日志
- Ubuntu系统日志配置 /var/log/messages
- Ubuntu系统日志配置 /var/log/messages
- ubuntu/var/log/下各个日志文件
- 安卓简单登录与注册
- 全面解析JS中的this机制
- jdbc中想同时使用两个sql查询语句,必须创建两套statement和resultSet
- Ubuntu 10.10安装SSH
- 通信加密的一些理解
- 练习 18:日志:/var/log,rsyslog,logger
- unity & php上传文件
- Deep Learning Exercise 1-3
- 神奇的Timer
- 一个时代的终结微软高层认Windows手机业务不再是重点
- 基于force布局的map
- Python求一个数对应二进制最低位为1对应的数字lowbit
- java学习路线图
- vue不支持ie8以下 原因?