天天看点

Linux系统管理初步(九)系统日志与screen程序一、系统日志二、screen工具

一、系统日志

系统日志是我们了解系统状况,服务启动情况的重要途径。学会阅读日志是我们了解系统运行状况并进行管理的基本技能。

(一)/var/log/messages

系统中的各种操作都会记录到系统日志中,日志储存在/var/log/目录中,日志会被系统的logrotate程序自动切割,就是日志文件达到你设定的条件时,就自动结束,然后重新生成一个文件开始记录日志。

1、查看系统日志

tail /var/log/messages

确实可以记录下不少内容的

Linux系统管理初步(九)系统日志与screen程序一、系统日志二、screen工具

2、通过/logrotate.conf文件配置日志记录机制

cat /etc/logrotate.conf

把主要的内容列在这个

# rotate log files weekly

weekly 多久结束一次日志记录,每周还是每月、每天等等

# keep 4 weeks worth of backlogs

rotate 4 多少份替换掉最旧一份日志,就是你最多能保存几份日志文件,这里是4,就是说如果你有4份日志文件了那么再多出来的一份就会把第一份覆盖掉,就像监控中你最多可以回放的录像天数。

# create new (empty) log files after rotating old ones

create

# use date as a suffix of the rotated file

dateext

# uncomment this if you want your log files compressed

#compress

# RPM packages drop log rotation information into this directory

include /etc/logrotate.d

可以把需要使用

# no packages own wtmp and btmp -- we'll rotate them here

这个语句下面可以把你要logrotate程序切割的日志文件的路径加进来,让程序自动帮你切割日志文件,常见的比如Nginx日志之类。

比如处理Nginx日志的一个模板:

/usr/local/nginx/logs/*.log {

daily

dateext

compress

rotate 7

sharedscripts

postrotate

kill -USR1 

cat /var/run/nginx.pid

endscript

}

/var/log/wtmp {

monthly

create 0664 root utmp

minsize 1M

rotate 1

}

/var/log/btmp {

missingok

monthly

create 0600 root utmp

rotate 1

}

# system-specific logs may be also be configured here.

(二)dmseg命令

dmesg命令可以显示系统的启动信息及硬件错误信息,系统某个硬件有问题时,可使用该命令排障。

Linux系统管理初步(九)系统日志与screen程序一、系统日志二、screen工具

注意这个命令显示的内容与/var/log/dmseg日志关系不大。

(三)last命令与lastb命令

last命令与lastb命令用于查看系统的登陆用户,它通过调用系统日志/var/log/wtmp与/var/log/btmp来显示系统最近的用户登陆情况,在进行安全防范时要使用该命令。

>last

Linux系统管理初步(九)系统日志与screen程序一、系统日志二、screen工具

>lastb

Linux系统管理初步(九)系统日志与screen程序一、系统日志二、screen工具

日志/var/log/wtmp与/var/log/btmp是二进制文件,不能直接cat

与系统安全相关的日志还有secure日志(/var/log/secure),他记录了用户尝试登陆系统,或者暴力破解系统密码时的信息,帮助你进行下一步处理,比如用fail2ban来锁定攻击IP。

二、screen工具

screen是一个虚拟终端工具,一些程序的执行时间很长不能中途中断,而我们登陆服务器时是远程登陆的,为了防止系统意外中断时仍能持续运行一个程序我们就可以使用screen工具。注意即使我们断开

screen工具非系统自带,首先需要yum安装

工具选项

ctrl+A 再+D:新建一个screen

screen -S “自定义名字” :自定义终端名新建screen

screen -ls :列出系统中存在的screen

screen -r id号或者自定义名字:进入特定的screen

操作示例

1、新建一个screen并运行vnstat 1命令

screen

vmstat 1

ctrl+A 再+D

Linux系统管理初步(九)系统日志与screen程序一、系统日志二、screen工具

他就移到后台了

2、切换回到刚在的screen

screen -r 1960

screen -r test1

两个都可以,后一个是用screen -s test1生成的。

Linux系统管理初步(九)系统日志与screen程序一、系统日志二、screen工具

3、杀死一个已经detached的screen会话

screen -X -S (id号或者screen名字) quit
Linux系统管理初步(九)系统日志与screen程序一、系统日志二、screen工具

 本文转自 whytl 51CTO博客,原文链接:http://blog.51cto.com/11934539/2067551

继续阅读