作者:广东在线游戏网日期:
返回目录:游戏资讯
1 syslogd的配置文件syslogd的配置文件/etc/syslog.conf规定了系统中需要监视的事件和相应的日志的保存位置cat /etc/syslog.conf# Log all kernel messages to the console.# Logging much else clutters up the screen.#kern.* /dev/console# Log anything (except mail) of level info or higher.# Don't log private authentication messages!*.info;mail.none;authpriv.none;cron.none /var/log/messages #除了mail/news/authpriv/cron以外,将info或更高级别的消息送到/var/log/messages,其中*是通配符,代表任何设备;none表示不对任何级别的信息进行记录# The authpriv file has restricted access.authpriv.* /var/log/secure #将authpirv设备的任何级别的信息记录到/var/log/secure文件中,这主要是一些和认证,权限使用相关的信息.# Log all the mail messages in one place.mail.* -/var/log/maillog #将mail设备中的任何级别的信息记录到/var/log/maillog文件中, 这主要是和电子邮件相关的信息.# Log cron stuffcron.* /var/log/cron #将cron设备中的任何级别的信息记录到/var/log/cron文件中, 这主要是和系统中定期执行的任务相关的信息.# Everybody gets emergency messages*.emerg * #将任何设备的emerg级别或更高级别的消息发送给所有正在系统上的用户.# Save news errors of level crit and higher in a special file.uucp,news.crit /var/log/spooler #将uucp和news设备的crit级别或更高级别的消息记录到/var/log/spooler文件中.# Save boot messages also to boot.loglocal7.* /var/log/boot.log #将和本地系统启动相关的信息记录到/var/log/boot.log文件中.2. syslogd语法该配置文件的每一行的格式如下:facility.priority action 设备.级别 动作3. Syslogd设备字段设备字段用来指定需要监视的事件.它可取的值如下:authpriv cron daemon kern lpr syslog user uucp mail news报告认证活动通常,口令等私有信息不会被记录 报告与cron和at有关的信息 报告与xinetd有关的信息 报告与内核有关的信息 报告与打印服务有关的信息 由syslog生成的信息 报告由用户程序生成的任何信息由UUCP生成的信息 报告与邮件服务有关的信息 报告与网络新闻服务有关的信息4. syslogd级别字段级别字段用于指明与每一种功能有关的级别和优先级:alert crit err warning notice info debug none * emerg需要立即引起注意的情况 危险情况的警告 除了emerg,alert,crit的其他错误 警告信息需要引起注意的情况 值得报告的消息 由运行于debug模式的程序所产生的消息 用于禁止任何消息 所有级别,除了none 出现紧急情况使得该系统不可用5. syslogd动作字段动作字段用于描述对应功能的动作file username device @hostname指定一个绝对路径的日志文件名记录日志信息 发送信息到指定用户,*表示所有用户 将信息发送到指定的设备中,如/dev/console将信息发送到可解析的远程主机hostname,且该主机必须正在运行syslogd并可以识别syslog的配置文件6. 查看日志文件常见的日志文件日志文件通常存放在/var/log目录下.在该目录下除了包括syslogd 记录的日志之外,同时还包含所有应用程序的日志. 为了查看日志文件的内容必须要有root权限.日志文件中的信息很重要,只能让超级用户有访问这些文件的权限.7. logcups/ httpd/ mail/ news/ boot.log dmesg maillog messages secure wtmp存储CUPS打印系统的日志目录 记录apache的访问日志和错误日志目录 存储mail日志目录 存储INN新闻系统的日志目录 记录系统启动日志记录系统启动时的消息日志 记录邮件系统的日志 由syslogd记录的info或更高级别的消息日志 由syslogd记录的认证日志 一个用户每次登录进入和退出时间的永久记录8. 查看文本日志文件绝大多数日志文件是纯文本文件,每一行就是一个消息.只要是在Linux下能够处理纯文本的工具都能用来查看日志文件.可以使用 cat,tac, more,less,tail和grep进行查看文件中每一行表示一个消息,而且都由四个域的固定格式组成: 时间标签(Timestamp):表示消息发出的日期和时间. 主机名(Hostname):表示生成消息的计算机的名字. 生成消息的子系统的名字:可以是"Kernel",表示消息来自内核或者 是进程的名字,表示发出消息的程序的名字. 在方括号里的是进程的PID. 消息(Message),即消息的内容.syslog发出的消息,说明了守护进程已经在 Dec 16,03:32:41 重新启动了. Dec 16 03:32:41 cnetos5 syslogd 1.4.1: restart. # 在 Dec 19,00:20:56 启动了内核日志 klogd Dec 19 00:20:56 cnetos5 kernel: klogd 1.4.1, log source = /proc/kmsg started. # 在 Dec 19,00:21:01 启动了xinetd Dec 19 00:21:01 cnetos5 xinetd[2418]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.9. 查看非文本日志文件Lastlog也有一些日志文件是二进制文件,需要使用相应的命令进行读取.使用lastlog命令来检查某特定用户上次登录的时间,并格式化输出上次登录日志 /var/log/lastlog 的内容rpc **从未登录过** rpcuser **从未登录过** sshd **从未登录过** pcap **从未登录过** haldaemon **从未登录过** xfs **从未登录过** gdm **从未登录过** boobooke **从未登录过** baobao pts/1 192.168.1.2 三 11月 26 12:44:32 +0800 2008 abc **从未登录过** test pts/1 192.168.1.5 四 11月 27 17:30:53 +0800 2008 test01 **从未登录过**last命令往回搜索/var/log/wtmp来显示自从文件第一次创建以来登录过用户root pts/1 116.226.69.195 Fri Aug 31 15:48 - 18:37 (02:49)10. 查看非文本日志文件lastblastb命令搜索/var/log/btmp来显示登录未成功的信息.root ssh:notty 222.143.27.97 Thu Sep 6 19:43 - 19:43 (00:00)11. 查看非文本日志文件whowho命令查询wtmp文件并报告当前登录的每个用户.who命令的缺省输出包括用户名,终端类型,登录日期及远程主机.[root@server ~]# whoroot pts/0 2012-09-08 10:18 (116.226.69.195)[root@server ~]# w10:41:31 up 212 days, 20:19, 1 user, load average: 0.21, 0.16, 0.14USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot pts/0 116.226.69.195 10:18 0.00s 0.09s 0.00s w12.日志滚动为什么使用日志滚动所有的日志文件都会随着时间的推移和访问次数的增加而迅速增长,因此必须对日志文件进行定期清理以免造成磁盘空间的不必要的浪费.同时也 加快了管理员查看日志所用的时间,因为打开小文件的速度比打开大文件的速度要快.Logrotate 其命令格式为: logrotate [选项] <configfile>-d:详细显示指令执行过程,便于排错或了解程序执行的情况.-f:强行启动记录文件维护操作,即使logrotate指令认为无需要亦然 -m command:指定发送邮件的程序,默认为 /usr/bin/mail. -s statefile:使用指定的状态文件. -v:在执行日志滚动时显示详细信息.13. 日志滚动logrotate 默认的主配置文件是 /etc/logrotate.conf /etc/logrotate.d 的目录下的文件,这些文件被 include 到主配置文件 /etc/logrotate.conf 中# see "man logrotate" for details # 每周清理一次日志文件weekly #保存过去四周的日志文件rotate 4 #清除旧日志文件的同时,创建新的空日志文件create #若使用压缩的日志文件,请删除下面行的注释符#compress #包含/etc/logrotate.d目录下的所有配置文件include /etc/logrotate.d #设置e5a48de588b6e799bee5baa6e79fa5e98193333/var/log/wtmp的日志滚动/var/log/wtmp {monthlyminsize 1Mcreate 0664 root utmprotate 1}可以使用ls命令显示/etc/logrotate.d目录:[root@server ~]# ls /etc/logrotate.dmgetty psacct rpm setroubleshoot snmpd syslog yum每个文件的基本格式均相同[root@server ~]# cat /etc/logrotate.d/syslog/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron { #对日志文件sharedscripts #调用日志滚动通用函数sharedscriptspostrotate #在日志滚动之后执行语句括号postrotate和endscript之间的命令postrotate/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null true/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null true #重新启动syslogdendscript}logrotate是由crond运行的,在默认配置中,可以发现在/etc/cron.daily目录中有一个名为logrotate的文件[root@server ~]# cat /etc/cron.daily/logrotate#!/bin/sh/usr/sbin/logrotate /etc/logrotate.confEXITVALUE=$?if [ $EXITVALUE != 0 ]; then/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"fiexit 0
用init命令转换运行级别:
init 5
init 3
看一下/etc/inittab里面的运行级别,有如下的一句
id:3:initdefault:
这个数字也可能是3,或者也可能是别的,就把那个数字改成5.
这是运行级别,也就是说3,是进入文本界面,5是图形界面。
启动LINUX出现Enter RunLevel的解释,runlevel字面解释就是运行级别。我的理解就是图形还是命令行方式。一般输入3就是命令行方式启动,输入5就是图形界面方式启动。图形界面一般指X Window,包含GNOME和KDE两种主流界面。
系统的讲解运行级别其实可以用VI打开 /etc/ininttab文件,里面的注释部分有“官方”的解释。
先照搬如下:
什么是运行级呢?简单的说,运行级就是操作系统当前正在运行的功能级别。
这个级别从1到6,具有不同的功能。这些级别在/etc/inittab文件里指定。这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/etc/rc.d 目录下的文件。
不同的运行级定义如下:(可以参考Red Hat Linux 里面的/etc/inittab)
# 缺省的运行级,RHS 用到的级别如下:
# 0 - 停机(千万不要把initdefault 设置为0 )
# 1 - 单用户模式
# 2 - 多用户,但是没有 NFS
# 3 - 完全多用户模式
# 4 - 没有用到
# 5 - X11
# 6 - 重新启动 (千万不要把initdefault 设置为6 )
对各个运行级的详细解释:
0 为停机,机器关闭。
1 为单用户模式,就像Win9x 下的安全模式类似。
2 为多用户模式,但是没有NFS 支持。
3 为完整的多用户模式,是标准的运行级。
4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
5 就是X11,进到Xwindow系统了。
6 为重启,运行init 6机器就会重启。
不同的运行级有不同的用处,也应该根据自己的不同情形来设置。例如,如果丢失了root 口令,那么可以让机器启动进入单用户状态来设置。在启动后的 lilo 提示符下输入:
init=/bin/sh rw (或者linux 1;linux single)
就可以使机器进入运行级1 ,并把root文件系统挂为读写。他会跳过e79fa5e98193e4b893e5b19e331所有系统认证,让你使用passwd 程序来改变root口令,然后启动到一个新的运行级。
当你安装机器的时候使用图形界面启动,后来又想使用命令行界面启动时,可以用VI打开 /etc/ininttab文件修改其中有数字没有注释掉的那一行~~~我已验证过,OK redhat 9 2.4核心的。
如果输入相应级别不能进入系统,提示
no more processes left in this runlevel
多半是文件 /etc/ininttab受到破坏,可以从别的地方拷贝过来或者自己编辑。
(用光盘启动,进入rescue模式,挂上原有根分区,手写或拷贝一个/etc/inittab,也可以重新安装initscripts包。)
telinit 5