日志是记录系统在什么时候有哪个进程做了什么样的行为,发生何种事件。日志有以下三个重要性:
解决系统方面的错误
解决网络服务的问题
过往事件记录簿
通过查看屏幕上面的错误信息以及日志文件的错误信息,几乎可以解决大部分的LInux问题
Linux常见的日志文件:/var/log/cron: 记录crontab的日志
在这里可以查看你的例行性工作是否正确的执行?运行的过程中是否发生错误?下面是一个cron日志的例子,时间,主机,服务名称等信息:
May 28 21:34:05 localhost run-parts(/etc/cron.daily)[2806]: finished logrotate
May 28 21:34:05 localhost run-parts(/etc/cron.daily)[2787]: starting makewhatis.cron
May 28 21:34:07 localhost run-parts(/etc/cron.daily)[2964]: finished makewhatis.cron
- /var/log/dmesg:记录系统在开机的时候内核检测过程所产生的各项信息。
- /var/log/lastlog:可以记录系统上面所有账号最近一次登录系统的相关信息。系统中的lastlog命令就是利用这个文件的记录信息来显示的。下面就是通过lastlog查看出来的结果,显示除了每个用户的最后一次的登陆时间。
ps_ftp_user_qa pts/0 101.81.5.71 Mon Jun 27 13:45:33 +0800 2016
sps_ftp_user_uat **Never logged in**
sps_ftp_user_prep **Never logged in**
sap_axalta_test pts/2 101.81.116.106 Thu May 31 15:00:52 +0800 2018
tmsdev pts/2 101.81.5.71 Tue Aug 2 10:56:22 +0800 2016
jessica pts/3 101.81.112.109 Tue Dec 27 10:03:40 +0800 2016
guora2 pts/3 101.81.112.109 Tue Dec 27 14:41:40 +0800 2016
tmstest pts/5 101.81.112.109 Fri Mar 3 11:38:20 +0800 2017
taiping_edi pts/0 101.81.112.109 Wed Feb 8 15:34:07 +0800 2017
- /var/log/maillog或/var/log/mail/*:记录邮件的往来信息,其实主要记录sendmail(SMTP 发信协议提供者)与dovecot(pop3收信协议提供者)所产生的信息。
比如我们自己搭建的smtp服务器用户发送email,那么有的时候客户反映没有收到email,我们怎么查呢?首先就是去看一下这个maillog,看看是否有发送记录,如果发送失败或者被对方邮箱服务器拒收,这里都会有记录信息的:
May 31 20:23:09 iZ23ozpjtzfZ postfix/smtp[11767]: 06E8AC2D69: to=<anne.qian@oocl.com>, relay=oocl-com.mail.protection.outlook.com[65.55.88.10]:25, delay=6.5, delays=0.16/0.02/2.6/3.8, dsn=2.6.0, status=sent (250 2.6.0 <e838da5d-6f13-0c3f-4576-3e14d554d60e@weikayun.com> [InternalId=176093659791, Hostname=KL1PR02MB1464.apcprd02.prod.outlook.com] 9280
bytes in 0.306, 29.600 KB/sec Queued mail for delivery)
May 31 20:23:09 iZ23ozpjtzfZ postfix/smtp[11767]: 06E8AC2D69: to=<colten.zhang@oocl.com>, relay=oocl-com.mail.protection.outlook.com[65.55.88.10]:25, delay=6.5, delays=0.16/0.02/2.6/3.8, dsn=2.6.0, status=sent (250 2.6.0 <e838da5d-6f13-0c3f-4576-3e14d554d60e@weikayun.com> [InternalId=176093659791, Hostname=KL1PR02MB1464.apcprd02.prod.outlook.com] 92
80 bytes in 0.306, 29.600 KB/sec Queued mail for delivery)
May 31 20:23:09 iZ23ozpjtzfZ postfix/smtp[11767]: 06E8AC2D69: to=<joy.ge@oocl.com>, relay=oocl-com.mail.protection.outlook.com[65.55.88.10]:25, delay=6.5, delays=0.16/0.02/2.6/3.8, dsn=2.6.0, status=sent (250 2.6.0 <e838da5d-6f13-0c3f-4576-3e14d554d60e@weikayun.com> [InternalId=176093659791, Hostname=KL1PR02MB1464.apcprd02.prod.outlook.com] 9280 byt
es in 0.306, 29.600 KB/sec Queued mail for delivery)
May 31 20:23:09 iZ23ozpjtzfZ postfix/smtp[11767]: 06E8AC2D69: to=<lloyd.li@oocl.com>, relay=oocl-com.mail.protection.outlook.com[65.55.88.10]:25, delay=6.5, delays=0.16/0.02/2.6/3.8, dsn=2.6.0, status=sent (250 2.6.0 <e838da5d-6f13-0c3f-4576-3e14d554d60e@weikayun.com> [InternalId=176093659791, Hostname=KL1PR02MB1464.apcprd02.prod.outlook.com] 9280 b
ytes in 0.306, 29.600 KB/sec Queued mail for delivery)
May 31 20:23:09 iZ23ozpjtzfZ postfix/smtp[11767]: 06E8AC2D69: to=<minato.liu@oocl.com>, relay=oocl-com.mail.protection.outlook.com[65.55.88.10]:25, delay=6.5, delays=0.16/0.02/2.6/3.8, dsn=2.6.0, status=sent (250 2.6.0 <e838da5d-6f13-0c3f-4576-3e14d554d60e@weikayun.com> [InternalId=176093659791, Hostname=KL1PR02MB1464.apcprd02.prod.outlook.com] 9280
bytes in 0.306, 29.600 KB/sec Queued mail for delivery)
May 31 20:23:09 iZ23ozpjtzfZ postfix/smtp[11767]: 06E8AC2D69: to=<roland.li@oocl.com>, relay=oocl-com.mail.protection.outlook.com[65.55.88.10]:25, delay=6.5, delays=0.16/0.02/2.6/3.8, dsn=2.6.0, status=sent (250 2.6.0 <e838da5d-6f13-0c3f-4576-3e14d554d60e@weikayun.com> [InternalId=176093659791, Hostname=KL1PR02MB1464.apcprd02.prod.outlook.com] 9280
bytes in 0.306, 29.600 KB/sec Queued mail for delivery)
- /var/log/messages:几乎系统发生的错误信息(或者重要信息)都会记录到这个文件当中
- /var/log/secure:基本上只要牵扯到需要输入账号密码的程序,那么当登录时(不管登录正确与否)都会被记录到这个文件中,包括系统的login程序,以及网络联机的ssh,telnet等程序。如下面ssh的登录信息:
May 31 21:24:28 iZ23ozpjtzfZ sshd[12680]: subsystem request for sftp
May 31 21:24:28 iZ23ozpjtzfZ sshd[12676]: pam_unix(sshd:session): session closed for user vantrans
May 31 21:24:28 iZ23ozpjtzfZ sshd[12682]: Accepted password for dayou from 10.46.227.33 port 41424 ssh2
May 31 21:24:28 iZ23ozpjtzfZ sshd[12682]: pam_unix(sshd:session): session opened for user dayou by (uid=0)
May 31 21:24:28 iZ23ozpjtzfZ sshd[12686]: subsystem request for sftp
May 31 21:24:28 iZ23ozpjtzfZ sshd[12682]: pam_unix(sshd:session): session closed for user dayou
May 31 21:24:28 iZ23ozpjtzfZ sshd[12688]: Accepted password for cosco_qa from 10.46.227.33 port 41426 ssh2
May 31 21:24:28 iZ23ozpjtzfZ sshd[12688]: pam_unix(sshd:session): session opened for user cosco_qa by (uid=0)
May 31 21:24:28 iZ23ozpjtzfZ sshd[12691]: subsystem request for sftp
- /var/log/wtmp,/var/log/faillog:这两个文件可以记录正确登录系统者的账户信息(wtmp)与错误登录时所使用的账户信息(faillog)
- /var/log/httpd/,/var/log/news/,/var/log/samba/*:不同网络服务会使用他们自己的日志文件案来记载它们自己产生的各项信息。
常见的日志文件就是这几个,通过分析这些文件,我们基本能够解决大部分的Linux问题。