为您找到与linux操作系统日志查看命令相关的共200个结果:
在windows下我们查看系统信息直接右击电脑属性就可以查看了.那么在Linux系统中如何查看呢.下面大家与读文网小编一起来学习一下linux操作系统版本的查看命令吧。
一.查看内核版本命令:
1) [root@SOR_SYS ~]# cat /proc/version
Linux version 2.6.18-238.el5 (mockbuild@x86-012.build.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Sun Dec 19 14:22:44 EST 2010
[root@SOR_SYS ~]#
2)[root@SOR_SYS ~]# uname -r
2.6.18-238.el5
3)[root@SOR_SYS ~]# uname -a
Linux SOR_SYS.99bill.com 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
[root@SOR_SYS ~]#
二.查看linux版本:
1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:
[root@SOR_SYS ~]# lsb_release -a
LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: RedHatEnterpriseAS
Description: Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
Release: 4
Codename: NahantUpdate4
[root@SOR_SYS ~]#
注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。
2) 登录到linux执行cat /etc/issue,例如如下:
[root@SOR_SYS ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 5.6 (Tikanga)
Kernel on an m
[root@SOR_SYS ~]#
3) 登录到linux执行cat /etc/redhat-release ,例如如下:
[root@SOR_SYS ~]# cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
[root@SOR_SYS ~]#
注:这种方式下可以直接看到具体的版本号,比如 AS4 Update 1
4)登录到linux执行rpm -q redhat-release ,例如如下:
[root@SOR_SYS ~]# rpm -q redhat-release
redhat-release-5Server-5.6.0.3
[root@SOR_SYS ~]#
注:这种方式下可看到一个所谓的release号,比如上边的例子是5
这个release号和实际的版本之间存在一定的对应关系,如下:
redhat-release-3AS-1 -> Redhat Enterprise Linux AS 3
redhat-release-3AS-7.4 -> Redhat Enterprise Linux AS 3 Update 4
redhat-release-4AS-2 -> Redhat Enterprise Linux AS 4
redhat-release-4AS-2.4 -> Redhat Enterprise Linux AS 4 Update 1
redhat-release-4AS-3 -> Redhat Enterprise Linux AS 4 Update 2
redhat-release-4AS-4.1 -> Redhat Enterprise Linux AS 4 Update 3
redhat-release-4AS-5.5 -> Redhat Enterprise Linux AS 4 Update 4
另:第3)、4)两种方法只对Redhat Linux有效
5) [root@SOR_SYS ~]# file /bin/bash
/bin/bash: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
[root@SOR_SYS ~]#
6) [root@SOR_SYS ~]# file /bin/cat
/bin/cat: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
[root@SOR_SYS ~]#
Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号等等,整个CPU信息一目了然。
1、# uname -a (Linux查看版本当前操作系统内核信息)
Linux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 athlon i386 GNU/Linux
2、# cat /proc/version (Linux查看当前操作系统版本信息)
Linux version 2.4.20-8 (bhcompile@porky.devel.redhat.com)
(gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #1 Thu Mar 13 17:54:28 EST 2003
3、# cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息)
Red Hat Linux release 9 (Shrike)
4、# cat /proc/cpuinfo (Linux查看cpu相关信息,包括型号、主频、内核信息等)
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 1
model name : AMD A4-3300M APU with Radeon(tm) HD Graphics
stepping : 0
cpu MHz : 1896.236
cache size : 1024 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 6
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr
sse sse2 syscall mmxext lm 3dnowext 3dnow
bogomips : 3774.87
5、# getconf LONG_BIT (Linux查看版本说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)
32
6、# lsb_release -a
看过“ linux操作系统版本查看命令 ”
浏览量:3
下载量:0
时间:
本篇文章主要介绍linux系统中如何通过常用命令查看日志,希望会对大家的学习有所帮助。下面大家与读文网小编一起来学习一下吧。
cat
tail -f
日 志 文 件 说 明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中
最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
系统: www.2cto.com
# uname -a # 查看内核/操作系统/CPU信息
# cat /etc/issue
# cat /etc/redhat-release # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源:
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区:
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络:
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程: www.2cto.com
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户:
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务:
# chkconfig –list # 列出所有系统服务
# chkconfig –list | grep on # 列出所有启动的系统服务
程序:
# rpm -qa # 查看所有安装的软件包
看过“ linux系统日志查看命令 ”
浏览量:2
下载量:0
时间:
Linux查看系统日志的一些常用命令
last
-a 把从何处登入系统的主机名称或ip地址,显示在最后一行。
-d 指定记录文件。指定记录文件。将IP地址转换成主机名称。
-f <记录文件> 指定记录文件。
-n <显示列数>或-<显示列数> 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息
以下看所有的重启、关机记录
last | grep reboot
last | grep shutdown
history
列出所有的历史记录:
[zzs@Linux] # history
只列出最近10条记录:
[zzs@linux] # history 10 (注,history和10中间有空格)
使用命令记录号码执行命令,执行历史清单中的第99条命令
[zzs@linux] #!99 (!和99中间没有空格)
重复执行上一个命令
[zzs@linux] #!!
执行最后一次以rpm开头的命令(!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)
[zzs@linux] #!rpm
逐屏列出所有的历史记录:
[zzs@linux]# history | more
立即清空history当前所有历史命令的记录
[zzs@linux] #history -c
cat, tail 和 watch
系统所有的日志都在 /var/log 下面自己看(具体用途可以自己查,附录列出一些常用的日志)
cat /var/log/syslog 等
cat /var/log/*.log
tail -f
如果日志在更新,如何实时查看 tail -f /var/log/messages
还可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次。
该指令,不会直接返回命令行,而是实时打印日志文件中新增加的内容,
这一特性,对于查看日志是非常有效的。如果想终止输出,按 Ctrl+C 即可。
除此之外还有more, less ,dmesg|more,这里就不作一一列举了,因为命令太多了,关键看个人喜好和业务需求.个人常用的就是以上那些
linux日志文件说明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
浏览量:2
下载量:0
时间:
电脑安装的是什么操作系统类型查看方法有很多种方式,那么使用命令怎么查看计算机操作系统呢?今天读文网小编与大家分享下使用命令查看计算机操作系统的具体操作步骤,有需要的朋友不妨了解下。
1、首先点击键盘上面的“Win+R”组合键,直接激活“运行”程序,如图所示:
2、在“运行”输入框里面直接输入“cmd”,然后就点击“回车”,如图所示:
3、打开“命令提示符”窗口之后,在命令提示符的光标地方键入“winver”,再点击回车键。
4、稍等一会,电脑就会弹出一个指定的窗口,如图所示:
5、根据弹出窗口里面的信息提示,就能够清楚的查看自己电脑的操作系统类型。
浏览量:5
下载量:0
时间:
Linux可以利用df命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。 那么Linux怎么使用df命令查看磁盘空间呢?读文网小编分享了Linux使用df命令查看磁盘空间的方法,希望对大家有所帮助。
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 14G 11G 2.6G 82% /
/dev/sda1 99M 14M 81M 14% /boot
tmpfs 442M 275M 168M 63% /dev/shm
/dev/mapper/vg_test-lv_test
24M 1.3M 21M 6% /mnt/lvm
[root@localhost ~]#
当然你可能并不关系磁盘还剩余多少空间,你是需要知道当前的文件夹下的磁盘使用情况:
[root@localhost ~]# du --max-depth=1 -h
24K 。/.gnome www.2cto.com
8.0K 。/.eggcups
8.0K 。/.config
136K 。/.gnome2
16K 。/.chewing
8.0K 。/.gnome2_private
8.0K 。/.Trash
224K 。/.gstreamer-0.10
28K 。/Desktop
48K 。/.nautilus
48K 。/.metacity
240K 。/.scim
3.4M 。/.mozilla
1012K 。/.kde
12K 。/.superkaramba
40K 。/.local
8.0K 。/.qt
272K 。/.gconf
32K 。/.mcop
16K 。/.redhat
1.7M 。/.thumbnails
8.0K 。/.gconfd
7.5M 。
[root@localhost ~]#
看上面使用了du --max-depth=1 -h的命令来查找磁盘的使用情况,因为后面没有跟路径,它就默认是当前的路径。这个命令的-h参数是为了方便你读懂每个文件的大小,如果没有这个参数显示的文件大小就没有k,M,G等。执行命令后,前面n-1行的是该目录下每个文件夹的大小。最后一行显示的是该目录总的大小。
然后你会说不在乎该目录下每个文件的大小,你只想知道其中某一个文件(文件夹)的大小,那么有没有办法呢?当然你应该记得,我一直强调的,方法总比问题多,这儿也不例外。
请看下面的例子:
[root@localhost ~]# du -sh
7.5M 。 www.2cto.com
[root@localhost ~]#
聪明的你一定发现了这里显示的大小和上面最后一行的大小是一样的。这就是说这里显示的大小是该目录的总大小。
我知道你心里在冷笑,不是方法比问题多吗?这里说的也只有一个答案。当然,我不会让你失望的。另一个方法比较土,但是还是可以解决问题的。
[root@localhost ~]# du -h --max-depth=0
7.5M 。
[root@localhost ~]#
我想告诉你的是man手册里面已经告诉了:--max-depth=0的功能和-s的功能是一样的。
当然你也可以通过sed打印最后du -h --max-depth=1一行来解决问题,但我并不推荐。
这里涉及到一个原则,尽量使用命令提供选项的原始功能。如果命令没有提供该功能,才需要我们自己使用grep,sed,awk来选取我们需要的行。
当然du命令后面可以跟文件路径,来查看指定路径的大小的。
[root@localhost ~]# du -sh /opt/oracle
5.6G /opt/oracle
[root@localhost ~]#
上面就是使用df命令查看Linux磁盘空间的介绍了,如果磁盘比较大的话,那么可能就要花费更多一些的时间了
看过“Linux怎么使用df命令查看磁盘空间”
浏览量:2
下载量:0
时间:
你们知道怎么用命令查看电脑的硬件信息吗,下面是读文网小编带来linux硬件信息查看命令的内容,欢迎阅读!
1.查看机器所有硬件信息: dmidecode |more dmesg |more
这2个命令出来的信息都非常多,所以建议后面使用"|more"便于查看
2.查看CPU信息
方法一:
Linux下CPU相关的参数保存在 /proc/cpuinfo 文件里 cat /proc/cpuinfo |more
方法二:
采用命令 dmesg | grep CPU 可以查看到相关CPU的启动信息 查看CPU的位数: getconf LONG_BIT
3.查看Mem信息
cat /proc/meminfo |more (注意输出信息的最后一行:MachineMem: 41932272 kB) free -m top
4.查看磁盘信息
方法一:
fdisk -l 可以看到系统上的磁盘(包括U盘)的分区以及大小相关信息。
方法二: 直接查看 cat /proc/partitions
5.查看网卡信息 方法一:
ethtool eth0 采用此命令可以查看到网卡相关的技术指标 (不一定所有网卡都支持此命令 ethtool -i eth1 加上 -i 参数查看网卡驱动 可以尝试其它参数查看网卡相关技术参数 方法二:
也可以通过dmesg | grep eth0 等看到网卡名字(厂家)等信息
通过查看 /etc/sysconfig/network-scripts/ifcfg-eth0 可以看到当前的网卡配置包括IP、网关地址等信息。 当然也可以通过ifconfig命令查看。 6.如何查看主板信息? lspci
7.如何挂载ISO文件 8.如何查看光盘相关信息
方法一:
插入CD光碟后,在本人的RHEL5系统里,光碟文件是 /dev/cdrom, 因此只需 mount /dev/cdrom mount_point 即可。 [root@miix tmp]# mount /dev/cdrom mount_point
mount: block device /dev/cdrom is write-protected, mounting read-only 其实仔细看一下,光驱的设备文件是 hdc [root@miix tmp]# ls -l /dev/cdrom*
lrwxrwxrwx 1 root root 3 01-08 08:54 /dev/cdrom -> hdc lrwxrwxrwx 1 root root 3 01-08 08:54 /dev/cdrom-hdc -> hdc 因此我们也可以这样 mount /dev/hdc mount_point 如果光驱里没放入有效光盘,则报错: [root@miix tmp]# mount /dev/hdc mount_point mount: 找不到介质 9.如何查看USB设备相关
方法一:
其实通过 fdisk -l 命令可以查看到接入的U盘信息,本人的U盘信息如下: Disk /dev/sda: 2012 MB, 2012217344 bytes 16 heads, 32 sectors/track, 7676 cylinders Units = cylinders of 512 * 512 = 262144 bytes Device Boot Start End Blocks Id System /dev/sda1 * 16 7676 1961024 b W95 FAT32 U盘的设备文件是 /dev/sda,2G大小,FAT32格式。 如果用户登陆的不是Linux图形界面,U盘不会自动挂载上来。 此时可以通过手工挂载(mount): mount /dev/sda1 mount_point
以上命令将U盘挂载到当前目录的 mount_point 目录,注意挂的是 sda1 不是 sda。 卸载命令是 umount mount_point
Linux默认没有自带支持NTFS格式磁盘的驱动,但对FAT32支持良好,挂载的时候一般不需要 -t vfat 参数 。
如果支持ntfs,对ntfs格式的磁盘分区应使用 -t ntfs 参数。 如果出现乱码情况,可以考虑用 -o iocharset=字符集 参数。 可以通过 lsusb 命令查看 USB 设备信息哦: [root@miix tmp]# lsusb
Bus 001 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000
Bus 004 Device 002: ID 0951:1613 Kingston Technology Bus 004 Device 001: ID 0000:0000
浏览量:2
下载量:0
时间:
在windows下我们查看系统信息直接右击电脑属性就可以查看了.那么在Linux系统中如何查看呢.下面跟着读文网小编来一起了解下怎么查看linux操作系统吧。
1. 查看内核版本命令:
chen@mylinuxserver:~> cat /proc/version
Linux version 2.6.5-7.244-smp (geeko@buildhost) (gcc version 3.3.3 (SuSE Linux)) #1 SMP Mon Dec 12 18:32:25 UTC 2005
/proc 目录的作用?
chen@mylinuxserver:/proc> uname -a
Linux mylinuxserver 2.6.5-7.244-smp #1 SMP Mon Dec 12 18:32:25 UTC 2005 i686 i686 i386 GNU/Linux
chen@mylinuxserver:/proc> uname -r
2.6.5-7.244-smp
uname命令的作用?
2. 查看Linux版本:
1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:
chen@mylinuxserver:/proc> lsb_release -a
LSB Version: core-2.0-noarch:core-3.0-noarch:core-2.0-ia32:core-3.0-ia32:graphics-2.0-ia32:graphics-2.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch
Distributor ID: SUSE LINUX
Description: SUSE LINUX Enterprise Server 9 (i586)
Release: 9
Codename: n/a
注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。
2) 登录到linux执行cat /etc/issue,例如如下:
chen@mylinuxserver:/proc> cat /etc/issue
Welcome to SUSE LINUX Enterprise Server 9 (i586) - Kernel (l).
3) 登录到linux执行cat /etc/redhat-release ,例如如下:
chen@mylinuxserver:/proc> cat /etc/*release*
LSB_VERSION="core-2.0-noarch:core-3.0-noarch:core-2.0-ia32:core-3.0-ia32"
cat: /etc/lsb-release.d: 是一个目录
SUSE LINUX Enterprise Server 9 (i586)
VERSION = 9
PATCHLEVEL = 3
看过“怎么查看linux操作系统”
浏览量:3
下载量:0
时间:
有时候想查看电脑中的硬件配置,有什么命令吗?下面是读文网小编带来的关于linux查看硬件配置命令是什么的内容,欢迎阅读!
[root@srv /]# more /etc/redhat-release
CentOS release 5 (Final)
[root@srv /]# more /etc/issue
CentOS release 5 (Final)
Kernel on an m
[root@srv /]# more /proc/version
Linux version 2.6.18-92.1.18.el5.028stab060.2PAE ([email=root@rhel5-32-build-xemul]root@rhel5-
32-build-xemul[/email]) (gc
c version 4.1.2 20071124 (Red Hat 4.1.2-42)) #1 SMP Tue Jan 13 12:31:30 MSK 2009
浏览量:3
下载量:0
时间:
日志系统将我们系统运行的每一个状况信息都使用文字记录下来,这些信息有助我们观察系统运行过程中正常状态和系统运行错误时快速定位错误位置的途径等;下面读文网小编主要概述一下Linux操作系统中的日志功能。
大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd,默认配置文件为 /etc/syslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息。
Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写到日志文件中去。完成这个过程的程序就是syslog。syslog可以根据日志的类别和优先级将日志保存到不同的文件中。例如,为了方便查阅,可以把内核信息与其他信息分开,单独保存到一个独立的日志文件中。默认配置下,日志文件通常都保存在“/var/log”目录下。
日志类型
下面是常见的日志类型,但并不是所有的Linux发行版都包含这些类型:
日志优先级
常见的日志优先级请见下标:
优先级 | 说明 |
---|---|
emerg | 紧急情况,系统不可用(例如系统崩溃),一般会通知所有用户。 |
alert | 需要立即修复,例如系统数据库损坏。 |
crit | 危险情况,例如硬盘错误,可能会阻碍程序的部分功能。 |
err | 一般错误消息。 |
warning | 警告。 |
notice | 不是错误,但是可能需要处理。 |
info | 通用性消息,一般用来提供有用信息。 |
debug | 调试程序产生的信息。 |
none | 没有优先级,不记录任何日志消息。 |
常见日志文件
所有的系统应用都会在 /var/log 目录下创建日志文件,或创建子目录再创建日志文件。例如:
/etc/syslog.conf 文件
/etc/syslog.conf 是 syslog 的配置文件,会根据日志类型和优先级来决定将日志保存到何处。典型的 syslog.conf 文件格式如下所示:
*.err;kern.debug;auth.notice /dev/console
daemon,auth.notice /var/log/messages
lpr.info /var/log/lpr.log
mail.* /var/log/mail.log
ftp.* /var/log/ftp.log
auth.* @see.xidian.edu.cn
auth.* root,amrood
netinfo.err /var/log/netinfo.log
install.* /var/log/install.log
*.emerg *
*.alert |program_name
mark.* /dev/console
第一列为日志类型和日志优先级的组合,每个类型和优先级的组合称为一个选择器;后面一列为保存日志的文件、服务器,或输出日志的终端。syslog 进程根据选择器决定如何操作日志。
对配置文件的几点说明:
日志类型和优先级由点号(.)分开,例如 kern.debug 表示由内核产生的调试信息。
kern.debug 的优先级大于 debug。
星号(*)表示所有,例如 *.debug 表示所有类型的调试信息,kern.* 表示由内核产生的所有消息。
可以使用逗号(,)分隔多个日志类型,使用分号(;)分隔多个选择器。
对日志的操作包括:
将日志输出到文件,例如 /var/log/maillog 或 /dev/console。
将消息发送给用户,多个用户用逗号(,)分隔,例如 root, amrood。
通过管道将消息发送给用户程序,注意程序要放在管道符(|)后面。
将消息发送给其他主机上的 syslog 进程,这时 /etc/syslog.conf 文件后面一列为以@开头的主机名,例如@see.xidian.edu.cn。
logger 命令
logger 是Shell命令,可以通过该命令使用 syslog 的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。
logger命令的语法为:
logger [-i] [-f filename] [-p priority] [-t tag] [message...]
每个选项的含义如下:
例如,将ping命令的结果写入日志:
$ ping 192.168.0.1 | logger -it logger_test -p local3.notice&
$ tail -f /var/log/userlog
Oct 6 12:48:43 kevein logger_test[22484]: PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
Oct 6 12:48:43 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=1 ttl=253 time=49.7 ms
Oct 6 12:48:44 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=2 ttl=253 time=68.4 ms
Oct 6 12:48:45 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=3 ttl=253 time=315 ms
Oct 6 12:48:46 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=4 ttl=253 time=279 ms
Oct 6 12:48:47 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=5 ttl=253 time=347 ms
Oct 6 12:48:49 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=6 ttl=253 time=701 ms
Oct 6 12:48:50 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=7 ttl=253 time=591 ms
Oct 6 12:48:51 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=8 ttl=253 time=592 ms
Oct 6 12:48:52 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=9 ttl=253 time=611 ms
Oct 6 12:48:53 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=10 ttl=253 time=931 ms
ping命令的结果成功输出到 /var/log/userlog 文件。
命令 logger -it logger_test -p local3.notice 各选项的含义:
-i:在每行都记录进程ID;
-t logger_test:每行记录都加上“logger_test”这个标签;
-p local3.notice:设置日志类型和优先级。
日志转储
日志转储也叫日志回卷或日志轮转。Linux中的日志通常增长很快,会占用大量硬盘空间,需要在日志文件达到指定大小时分开存储。
syslog 只负责接收日志并保存到相应的文件,但不会对日志文件进行管理,因此经常会造成日志文件过大,尤其是WEB服务器,轻易就能超过1G,给检索带来困难。
大多数Linux发行版使用 logrotate 或 newsyslog 对日志进行管理。logrotate 程序不但可以压缩日志文件,减少存储空间,还可以将日志发送到指定 E-mail,方便管理员及时查看日志。
例如,规定邮件日志 /var/log/maillog 超过1G时转储,每周一次,那么每隔一周 logrotate 进程就会检查 /var/log/maillog 文件的大小:
如果没有超过1G,不进行任何操作。
如果在1G~2G之间,就会创建新文件 /var/log/maillog.1,并将多出的1G日志转移到该文件,以给 /var/log/maillog 文件瘦身。
如果在2G~3G之间,会继续创建新文件 /var/log/maillog.2,并将 /var/log/maillog.1 的内容转移到该文件,将 /var/log/maillog 的内容转移到 /var/log/maillog.1,以保持 /var/log/maillog 文件不超过1G。
可以看到,每次转存都会创建一个新文件(如果不存在),命名格式为日志文件名加一个数字(从1开始自动增长),以保持当前日志文件和转存后的日志文件不超过指定大小。
logrotate 的主要配置文件是 /etc/logrotate.conf,/etc/logrotate.d 目录是对 /etc/logrotate.conf 的补充,或者说为了不使 /etc/logrotate.conf 过大而设置。
可以通过 cat 命令查看它的内容:
$cat /etc/logrotate.conf
# see "man logrotate" for details //可以查看帮助文档
# rotate log files weekly
weekly //设置每周转储一次
# keep 4 weeks worth of backlogs
rotate 4 //最多转储4次
# create new (empty) log files after rotating old ones
create //当转储后文件不存储时创建它
# 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 -- we'll rotate them here
/var/log/wtmp { //设置/var/log/wtmp日志文件的转储参数
monthly //每月转储
create 0664 root utmp //转储后文件不存在时创建它,文件所有者为root,所属组为utmp,对应的权限为0664
rotate 1 //最多转储一次
}
注意:include 允许管理员把多个分散的文件集中到一个,类似于C语言的 #include,将其他文件的内容包含进当前文件。
include 非常有用,一些程序会把转储日志的配置文件放在 /etc/logrotate.d 目录,这些配置文件会覆盖或增加 /etc/logrotate.conf 的配置项,如果没有指定相关配置,那么采用 /etc/logrotate.conf 的默认配置。
所以,建议将 /etc/logrotate.conf 作为默认配置文件,第三方程序在 /etc/logrotate.d 目录下自定义配置文件。
logrotate 也可以作为命令直接运行来修改配置文件。
看过“ Linux操作系统中的日志功能详解”
浏览量:3
下载量:0
时间:
想知道怎么查看Linux电脑中的硬件信息吗?下面是读文网小编带来的关于linux查看硬件信息命令是什么的内容,欢迎阅读!
1. lscpulscpu命令可以用来查询处理器cpu的详细信息,只需要简单地输入lscpu即可,如下所示,它本身也没有提供更多选项和功能可供选择。
$ lscpu
2. lshw - 显示硬件信息列表
这个命令用途广泛,它可以根据你的需求以详细或概要的形式列出许多个不同硬件的参数信息,其中包括cpu,内存,磁盘,usb控制器,网卡等等,lshw实质上是从/proc文件目录下的不同文件中提取对应的硬件信息。
$ sudo lshw -short
H/W
3. hwinfo - Hardware Information
hwinfo同样是一个使用非常广泛的硬件信息查询命令,类似于lshw,它同样可以详细或概要地报告多个部件的硬件信息,但不同的是,它有时可以给出比lshw更多的信息。
$ hwinfo --short
在Linux上使用hwinfo命令获取硬件信息
4. lspci - 显示pci总线相关信息
lscpi命令可以列出pci总线上信息,以及所有连接到pci总线上的设备信息,比如VGA适配器,显卡,网卡,usb端口,sata控制器等等。
$ lspci
$ lspci -v | grep "VGA" -A 12
5. lsscsi - 列出scsi设备信息
列出scsi/sata设备信息,比如硬盘驱动器,光盘驱动器。
$ lsscsi
[3:0:0:0] disk ATA ST3500418AS CC38 /dev/sda
[4:0:0:0] cd/dvd SONY DVD RW DRU-190A 1.63 /dev/sr0
6. lsusb - 列出usb总线信息,及设备信息
该命令可以显示USB控制器及连接到控制的设备信息。默认情况下,只显示概要信息,可以通过-v选项指示其显示更多的硬件信息。
$ lsusb
7. Inxi
inxi命令是一个大的bash脚本文件,其通过从不同的信息来源和命令中获取硬件信息,最后能给出一个颜色高亮的,适合于非专业人员阅读的硬件信息报告。
$ inxi -Fx
8. lsblk - 列出块设备信息
浏览量:3
下载量:0
时间:
你们知道怎么查看Linux中的硬件吗,命令是什么?下面是读文网小编带来的关于linux查看硬件命令有哪些的内容,欢迎阅读!
1,在linux下,有多种命令可以用于查看硬件信息:
用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart);
查看CPU信息:cat /proc/cpuinfo;
查看板卡信息:cat /proc/pci;
查看PCI信息:lspci (相比cat /proc/pci更直观);
查看内存信息:cat /proc/meminfo;
查看USB设备:cat /proc/bus/usb/devices;
查看键盘和鼠标:cat /proc/bus/input/devices;
查看系统硬盘信息和使用情况:fdisk & disk – l & df;
查看各设备的中断请求(IRQ):cat /proc/interrupts;
查看启动硬件检测信息日志:dmesg more /var/log/dmesg。
2,几种查看Linux版本信息的方法:
uname -a;
cat /proc/version;
cat /etc/issue;
lsb_release -a;
cat /etc/redhat-release;
rpm -q redhat-release。
浏览量:3
下载量:0
时间:
你们知道怎么查看Linux的硬件信息那些命令是什么吗,下面是读文网小编带来的关于linux怎么查看硬件信息的命令的内容,欢迎阅读!
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# chkconfig --list # 列出所有系统服务
# chkconfig --list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包
常用命令整理如下:
查看主板的序列号: dmidecode | grep -i ’serial number’
用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)
查看CPU信息:cat /proc/cpuinfo [dmesg | grep -i 'cpu'][dmidecode -t processor]
查看内存信息:cat /proc/meminfo [free -m][vmstat]
查看板卡信息:cat /proc/pci
查看显卡/声卡信息:lspci |grep -i ‘VGA’[dmesg | grep -i 'VGA']
查看网卡信息:dmesg | grep -i ‘eth’[cat /etc/sysconfig/hwconf | grep -i eth][lspci | grep -i 'eth']
查看PCI信息:lspci (相比cat /proc/pci更直观)
查看USB设备:cat /proc/bus/usb/devices
查看键盘和鼠标:cat /proc/bus/input/devices
查看系统硬盘信息和使用情况:fdisk & disk – l & df
查看各设备的中断请求(IRQ):cat /proc/interrupts
查看系统体系结构:uname -a
查看及启动系统的32位或64位内核模式:isalist –v [isainfo –v][isainfo –b]
dmidecode查看硬件信息,包括bios、cpu、内存等信息
测定当前的显示器刷新频率:/usr/sbin/ffbconfig –rev ?
查看系统配置:/usr/platform/sun4u/sbin/prtdiag –v
查看当前系统中已经应用的补丁:showrev –p
显示当前的运行级别:who –rH
查看当前的bind版本信息:nslookup –class=chaos –q=txt version.bind
dmesg | more 查看硬件信息
lspci 显示外设信息, 如usb,网卡等信息
lsnod 查看已加载的驱动
lshw
psrinfo -v 查看当前处理器的类型和速度(主频)
prtconf -v 打印当前的OBP版本号
iostat –E 查看硬盘物理信息(vendor, RPM, Capacity)
prtvtoc /dev/rdsk/c0t0d0s 查看磁盘的几何参数和分区信息
df –F ufs –o i 显示已经使用和未使用的i-node数目
isalist –v
对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:
Cpuinfo 主机CPU信息
Dma 主机DMA通道信息
Filesystems 文件系统信息
Interrupts 主机中断信息
Ioprots 主机I/O端口号信息
Meninfo 主机内存信息
Version Linux内存版本信息
备注: proc – process information pseudo-filesystem 进程信息伪装文件系统
浏览量:2
下载量:0
时间:
Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。小编为大家分享了Linux操作系统中日志系统功能详解,下面大家跟着读文网小编一起来了解一下吧。
每个操作系统中都有自己的强大的日志功能,windows有,而linux同样也有;linux操作系统中的日志功能主要通过服务syslog来实现(RedHat6.0以后使用的是syslog-ng),而syslog服务下有两个进程syslogd和klogd,这两个进程一个用来记录系统日志信息,一个用来记录内核日志信息;但是操作系统在运行中会产生非常多的日志信息,如果我们将这些信息都记录下来的话,那我们的磁盘I/O一定很繁忙,这对系统的性能有很大的影响,这就有违了我们的初衷,所以我们根据产生日志的来源和日志信息的重要性,将系统运行中所产生的日志进行分类;syslogd和klogd两个进程所记录的日志信息和详细程度又各有不同:
Klogd:记录了系统初始化时所产生并显示在物理终端上的信息,并保存在”/var/log/dmesg”文件中,我们可以使用“cat /var/log/dmesg”进行查看,也可以使用专门的命令“dmesg”进行查看
Syslogd:在系统初始化完成,将系统控制权转交给init,此时产生的日志信息都有syslogd记录,并存放在“/var/log/messages”文件中,主要保存的信息有“系统标准错误日志信息,非内核产生的引导信息,各个服务程序的子系统产生的信息等等”;在监控系统运行时一般使用“# tail -f /var/log/messages”来监控新生成的日志信息
但是系统运行中所产生的信息非常多,即使只记录这些信息,也有很大量;此时如果我们仍然将所有日志信息都保存在一个messages文件中,那么管理起来就非常困难了;那这怎么办呢?我们引进了另外一种技术“日志滚动”
日志滚动:当日志messages文件大小或时间到一定程度之后,将这个文件定义为messages.1,并重新创建一个新的messages文件,此时messages.1不再记录新的内容,只是存放以前的内容,如果新的messages文件再次达到这个标准之后,现在这个messages文件重命名为messages.1,原有的messages.1命名为messages.2,这样依次类推;但是这样一直滚动下去,很久以前的日志信息对我们现在管理已经没有很大用处了,所以我们可以定义只保留滚动多少次的日志文件;所以日志信息我们应该经常滚动,且一般定义多个标准
日志的滚动就是将这个日志文件进行切割,在redhat上有一个专门的命令可以完成这个动作:logrotate;系统上有一个专门的系统任务计划来完成日志切割“/etc/cron.daily”下有一个脚本叫做logrotate,这个命令的配置文件在“etc/logrotate.conf”下(定义了系统的日志滚动机制)
内容格式是:
weekly #全局定义每周滚动一次
rotate 4 #只保留四个滚动版本
include /etc/logrotate.d #上面几行是日志系统全局属性,下面是各个小系统的具体属性,执行时以局部属性为准;局部日志属性可定义多个
/var/log/wtmp { #定义这个子系统自己的日志滚动机制,日志存放文件
monthly #多长时间滚动一个
minsize 1M #日志文件最小1M
create 0664 root utmp #创建一个文件,权限是0664,属主是root,文件名是utmp
rotate 1 #只保留一个滚动版本
}
日志滚动的脚本文件:# vim /etc/cron.daily/logrotate
如果不自己定义,则按照全局定义的日志滚动属性,也可以在“/etc/logrotate.d/cups”文件下定义:
一些其他子系统产生的日志信息保存位置:
/var/maillog #邮件系统产生的日志信息
/var/log/secure #每个用户在登录时所产生的安全信息(什么时间谁以哪个用户来自哪个主机尝试登录,尝试了几次,这个文件经常查看)
syslog的配置文件在:/etc/syslog.conf
这个配置文件格式是:每一行都定义一个子系统产生的哪些级别的日志记录到什么位置
facility.priority action
Facility:日志来源
auth #认证子系统产生的
authpriv #权限授权子系统产生的
cron #任务计划子系统产生的
daemon #守护进程子系统产生的
kern #内核子系统产生的,定义klogd的记录内容
lpr #打印子系统产生的
mail #邮件子系统产生的
mark #标记子系统产生的
news #新闻子系统产生的
security #安全子系统产生的,与auth来源类似
syslog #定义syslog自己的要记录的
user #用户子系统所产生的的
uucp #Unix to unix cp子系统所产生的
local0-->local7 #用户自定义使用
* #所有来源
Priority(log level)日志级别:(级别越低记录的越详细)
debug #程序或系统的调试信息(记录非常详细,一般只在系统无法启动,排除错误时使用)
info #一般信息
notice #不影响系统正常功能,但需要注意的信息
warning/warn #可能影响系统功能,需要提醒用户注意的重要事件;这种信息可能会引起部分功能的运行
err/error #错误信息,已经影响系统部分功能;蓝色警报
crit #比较严重的信息;橙色警报
alert #必须马上处理的信息;红色警报
emerg/panic #导致系统不可用的信息;一般这一刻出现,下一刻系统就会down掉
* #所有日志级别,类似debug
none #和*相反,表示哪个级别都没有
Action(动作)指定日志记录的位置:
系统上的绝对路径 #普通文件,如/var/log/***
| #通过管道送给其他命令处理
终端 #显示在哪个终端(物理终端,虚拟终端,伪终端等等)
@HOST #远程主机;产生的日志信息,自己不记录,而传送给其他主机记录,一般用于日志服务器,可以增强当前服务器的安全;默认情况下只为自己记录日志信息
【如果要使得我们的服务器称为日志服务器,只需在“/etc/sysconfig/syslog”文件中的"SYSLOGD_OPTIONS="-r -m 0""这一行中添加一个“-r”选项,重新启动服务即可开启日志服务器功能】
用户 #产生的日志信息都发送给某个用户,如root
* #登录到系统上的所有用户,一般emerg级别的日志是这样定义的
syslog日志服务属性定义实例:
mail.info /var/log/maillog #将mail相关的级别为info及info以上级别的信息记录到/var/log/maillog文件中
auth.=info @10.0.0.1 #将auth相关的info级别的信息记录到10.0.0.1主机上,前提是10.0.0.1主机能够接收到其他主机发来的日志信息(此时只记录info级别)
user.!=error #记录与user相关的,但不记录error级别的信息,只记录其他所有级别
user.!error #与user.error相反,此时只记录比error级别低的日志信息
*.info #记录所有可能产生日志子系统的info级别及其以上级别的日志信息
mail.* #记录与mail所产生的所有级别的日志信息
*.* #记录所有日志信息
cron.info;mail.info #记录cron相关的info及以上级别的日志信息和mail相关的info和以上级别的日志信息,多个日志来源之间以“;”分号隔开
cron,mail.info #和上边是一个意思,如果两个日志来源的记录级别相同,可以缩写,来源之间以“,”逗号隔开
mail.*;mail.!=info #记录与mail相关的所有级别的日志信息,但不包括info级别的所有信息
Syslog的默认配置文件定义解释:
# cat /etc/syslog.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages #所有可能产生日志信息的子系统的info级别及以上级别的日志信息,都保存在messages文件中,但是不包括mail,authpriv,cron子系统的
authpriv.* /var/log/secure #所有用户授权的日志信息都记录到secure文件中
mail.* -/var/log/maillog #所有邮件子系统产生的日志信息都异步保存在maillog文件中,“-”表示异步写入,其他日志信息都要同步写入
cron.* /var/log/cron #所有任务计划的日志信息都记录到cron文件中
*.emerg * #无论系统上哪个程序产生emerg级别的信息,都立即通知给系统上的所有用户,马上就要down机了
uucp,new.crit /var/log/spooler #来自uucp和new子系统的crit级别的信息都保存在spooler文件中
local7.* /var/log/boot.log #自己定义的日志记录,此处系统默认定义的是系统引导信息,保存在boot.log文件中;但此处并没有���义谁向这个文件中填写,所以这个文件是空文件,我们需要在其他文件中定义这个日志信息要发送到local7中,才会写到boot.log文件中,一般意义不大
这个文件保存之后日志系统配置文件并不会立即生效,此时如果我们使用“service syslog restart”命令来重启日志服务,可能会使得其他一些正在记录日志信息的子系统不能完整的记录,所以我们一般使用“service syslog reload”来重读配置文件,并生效,相当与发送1号信号。
看过“ Linux操作系统中日志系统功能详解 ”
浏览量:4
下载量:0
时间:
如何查看Linux日志?Linux内部总是发现有病毒和恶意的攻击,查看日志是找出病毒根源的方法,那么如何查看Linux日志呢?小编为大家分享了查看Linux日志的方法,下面大家跟着读文网小编一起来了解一下吧。
cat
tail -f
日 志 文 件 说 明
/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
系统:
# uname -a # 查看内核/操作系统/CPU信息
# cat /etc/issue
# cat /etc/redhat-release # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源:
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区:
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络:
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程:
# ps -ef # 查看所有进程
# top # 实时显示进程状态(另一篇文章里面有详细的介绍)
用户:
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务:
# chkconfig –list # 列出所有系统服务
# chkconfig –list | grep on # 列出所有启动的系统服务
程序:
# rpm -qa # 查看所有安装的软件包
看过“ 如何查看Linux日志 ”
浏览量:2
下载量:0
时间:
系统日志是一种非常关键的组件,因为系统日志可以让你充分了解自己的环境。这种系统日志信息对于决定故障的根本原因或者缩小系统攻击范围来说是非常关键的,因为系统日志可以让你了解故障或者袭击发生之前的所有事件。读文网小编为大家带来了linux操作系统日志详解,希望大家喜欢。
Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。
大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd,默认配置文件为 /etc/syslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息。
Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写到日志文件中去。完成这个过程的程序就是syslog。syslog可以根据日志的类别和优先级将日志保存到不同的文件中。例如,为了方便查阅,可以把内核信息与其他信息分开,单独保存到一个独立的日志文件中。默认配置下,日志文件通常都保存在“/var/log”目录下。
日志类型
下面是常见的日志类型,但并不是所有的Linux发行版都包含这些类型:
类型 说明
auth 用户认证时产生的日志,如login命令、su命令。
authpriv 与 auth 类似,但是只能被特定用户查看。
console 针对系统控制台的消息。
cron 系统定期执行计划任务时产生的日志。
daemon 某些守护进程产生的日志。
ftp FTP服务。
kern 系统内核消息。
local0.local7 由自定义程序使用。
lpr 与打印机活动有关。
mail 邮件日志。
mark 产生时间戳。系统每隔一段时间向日志文件中输出当前时间,每行的格式类似于 May 26 11:17:09 rs2 -- MARK --,可以由此推断系统发生故障的大概时间。
news 网络新闻传输协议(nntp)产生的消息。
ntp 网络时间协议(ntp)产生的消息。
user 用户进程。
uucp UUCP子系统。
日志优先级
常见的日志优先级请见下标:
优先级 说明
emerg 紧急情况,系统不可用(例如系统崩溃),一般会通知所有用户。
alert 需要立即修复,例如系统数据库损坏。
crit 危险情况,例如硬盘错误,可能会阻碍程序的部分功能。
err 一般错误消息。
warning 警告。
notice 不是错误,但是可能需要处理。
info 通用性消息,一般用来提供有用信息。
debug 调试程序产生的信息。
none 没有优先级,不记录任何日志消息。
常见日志文件
所有的系统应用都会在 /var/log 目录下创建日志文件,或创建子目录再创建日志文件。例如:
文件/目录 说明
/var/log/boot.log 开启或重启日志。
/var/log/cron 计划任务日志
/var/log/maillog 邮件日志。
/var/log/messages 该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵。
/var/log/httpd 目录 Apache HTTP 服务日志。
/var/log/samba 目录 samba 软件日志
/etc/syslog.conf 文件
/etc/syslog.conf 是 syslog 的配置文件,会根据日志类型和优先级来决定将日志保存到何处。典型的 syslog.conf 文件格式如下所示:
*.err;kern.debug;auth.notice /dev/console
daemon,auth.notice /var/log/messages
lpr.info /var/log/lpr.log
mail.* /var/log/mail.log
ftp.* /var/log/ftp.log
auth.* @see.xidian.edu.cn
auth.* root,amrood
netinfo.err /var/log/netinfo.log
install.* /var/log/install.log
*.emerg *
*.alert |program_name
mark.* /dev/console
第一列为日志类型和日志优先级的组合,每个类型和优先级的组合称为一个选择器;后面一列为保存日志的文件、服务器,或输出日志的终端。syslog 进程根据选择器决定如何操作日志。
对配置文件的几点说明:
日志类型和优先级由点号(.)分开,例如 kern.debug 表示由内核产生的调试信息。
kern.debug 的优先级大于 debug。
星号(*)表示所有,例如 *.debug 表示所有类型的调试信息,kern.* 表示由内核产生的所有消息。
可以使用逗号(,)分隔多个日志类型,使用分号(;)分隔多个选择器。
对日志的操作包括:
将日志输出到文件,例如 /var/log/maillog 或 /dev/console。
将消息发送给用户,多个用户用逗号(,)分隔,例如 root, amrood。
通过管道将消息发送给用户程序,注意程序要放在管道符(|)后面。
将消息发送给其他主机上的 syslog 进程,这时 /etc/syslog.conf 文件后面一列为以@开头的主机名,例如@see.xidian.edu.cn。
logger 命令
logger 是Shell命令,可以通过该命令使用 syslog 的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。
logger命令的语法为:
logger [-i] [-f filename] [-p priority] [-t tag] [message...]
每个选项的含义如下:
选项 说明
-f filename 将 filename 文件的内容作为日志。
-i 每行都记录 logger 进程的ID。
-p priority 指定优先级;优先级必须是形如 facility.priority 的完整的选择器,默认优先级为 user.notice。
-t tag 使用指定的标签标记每一个记录行。
message 要写入的日志内容,多条日志以空格为分隔;如果没有指定日志内容,并且 -f filename 选项为空,那么会把标准输入作为日志内容。
例如,将ping命令的结果写入日志:
$ ping 192.168.0.1 | logger -it logger_test -p local3.notice&
$ tail -f /var/log/userlog
Oct 6 12:48:43 kevein logger_test[22484]: PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
Oct 6 12:48:43 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=1 ttl=253 time=49.7 ms
Oct 6 12:48:44 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=2 ttl=253 time=68.4 ms
Oct 6 12:48:45 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=3 ttl=253 time=315 ms
Oct 6 12:48:46 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=4 ttl=253 time=279 ms
Oct 6 12:48:47 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=5 ttl=253 time=347 ms
Oct 6 12:48:49 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=6 ttl=253 time=701 ms
Oct 6 12:48:50 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=7 ttl=253 time=591 ms
Oct 6 12:48:51 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=8 ttl=253 time=592 ms
Oct 6 12:48:52 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=9 ttl=253 time=611 ms
Oct 6 12:48:53 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=10 ttl=253 time=931 ms
ping命令的结果成功输出到 /var/log/userlog 文件。
命令 logger -it logger_test -p local3.notice 各选项的含义:
-i:在每行都记录进程ID;
-t logger_test:每行记录都加上“logger_test”这个标签;
-p local3.notice:设置日志类型和优先级。
日志转储
日志转储也叫日志回卷或日志轮转。Linux中的日志通常增长很快,会占用大量硬盘空间,需要在日志文件达到指定大小时分开存储。
syslog 只负责接收日志并保存到相应的文件,但不会对日志文件进行管理,因此经常会造成日志文件过大,尤其是WEB服务器,轻易就能超过1G,给检索带来困难。
大多数Linux发行版使用 logrotate 或 newsyslog 对日志进行管理。logrotate 程序不但可以压缩日志文件,减少存储空间,还可以将日志发送到指定 E-mail,方便管理员及时查看日志。
例如,规定邮件日志 /var/log/maillog 超过1G时转储,每周一次,那么每隔一周 logrotate 进程就会检查 /var/log/maillog 文件的大小:
如果没有超过1G,不进行任何操作。
如果在1G~2G之间,就会创建新文件 /var/log/maillog.1,并将多出的1G日志转移到该文件,以给 /var/log/maillog 文件瘦身。
如果在2G~3G之间,会继续创建新文件 /var/log/maillog.2,并将 /var/log/maillog.1 的内容转移到该文件,将 /var/log/maillog 的内容转移到 /var/log/maillog.1,以保持 /var/log/maillog 文件不超过1G。
可以看到,每次转存都会创建一个新文件(如果不存在),命名格式为日志文件名加一个数字(从1开始自动增长),以保持当前日志文件和转存后的日志文件不超过指定大小。
logrotate 的主要配置文件是 /etc/logrotate.conf,/etc/logrotate.d 目录是对 /etc/logrotate.conf 的补充,或者说为了不使 /etc/logrotate.conf 过大而设置。
可以通过 cat 命令查看它的内容:
$cat /etc/logrotate.conf
# see "man logrotate" for details //可以查看帮助文档
# rotate log files weekly
weekly //设置每周转储一次
# keep 4 weeks worth of backlogs
rotate 4 //最多转储4次
# create new (empty) log files after rotating old ones
create //当转储后文件不存储时创建它
# 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 -- we'll rotate them here
/var/log/wtmp { //设置/var/log/wtmp日志文件的转储参数
monthly //每月转储
create 0664 root utmp //转储后文件不存在时创建它,文件所有者为root,所属组为utmp,对应的权限为0664
rotate 1 //最多转储一次
}
注意:include 允许管理员把多个分散的文件集中到一个,类似于C语言的 #include,将其他文件的内容包含进当前文件。
include 非常有用,一些程序会把转储日志的配置文件放在 /etc/logrotate.d 目录,这些配置文件会覆盖或增加 /etc/logrotate.conf 的配置项,如果没有指定相关配置,那么采用 /etc/logrotate.conf 的默认配置。
所以,建议将 /etc/logrotate.conf 作为默认配置文件,第三方程序在 /etc/logrotate.d 目录下自定义配置文件。
logrotate 也可以作为命令直接运行来修改配置文件。
看过“linux操作系统日志 ”
浏览量:2
下载量:0
时间:
每一种操作系统都有成千上万的文件组成,对于linux这样“一切皆文件”的操作系统来说更不例外,大家应该都能很轻松使用windows下的文件查找功能,但是对linux这一功能可能并不是很熟悉,其实想玩linux的你更要牢牢掌握这个命令。那么linux怎么使用stat命令查看文件信息?下面跟着读文网小编一起去了解下吧。
Linux下查找文件的命令有两个;locate 和 find
首先说下locate,locate这个命令是对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了用locate查找文件速度很快,但是locate命令只能对文件进行模糊匹配,在精确度上来说差了点,简单介绍下它的两个选项:
#locate
-i //查找文件的时候不区分大小写 比如:locate –i passwd
-n //只显示查找结果的前N行 比如:locate -n 5 passwd
下面重点说下find,find在不指定查找目录的情况下是对整个系统进行遍历查找
使用格式 : find [指定查找目录] [查找规则] [查找完后执行的action]
[指定查找目录]例如:
这里要注意的是目录之间要用空格分开
[查找规则]
(1)根据文件名查找
# -name //根据文件名查找(精确查找)
# -iname //根据文件名查找,但是不区分大小写
这里另外介绍下文件名通配的知识
*表示 通配任意的字符
?表示 通配任意的单个字符
[ ] 表示 通配括号里面的任意一个字符
(2),根据文件所属用户和组来查找文件
# -user //根据属主来查找文件
# -group //根据属组来查找文件
(3),根据uid 和 gid来查找用户
#find /tmp -uid 500 //查找uid是500 的文件
#find /tmp -gid 1000 // 查找gid是1000的文件
(4),-a and -o and –not的使用
# -a 连接两个不同的条件(两个条件必须同时满足)
# -o 连接两个不同的条件(两个条件满足其一即可)
# -not 对条件取反的
(5),根据文件时间戳的相关属性来查找文件
我们可以使用stat命令来查看一个文件的时间信息 如下:
#-atime
#-mtime
#-ctime
#-amin
#-mmin
#-cmin
所以这里atime,mtime,ctime就是分别对应的“最近一次访问时间”“最近一次内容修改时间”“最近一次属性修改时间”,这里的atime的单位指的是“天”,amin的单位是分钟
#find /tmp –atime +5 //表示查找在五天内没有访问过的文件
#find /tmp -atime -5 //表示查找在五天内访问过的文件
(6),根据文件类型来查找文件
-type
f // 普通文件
d //目录文件
l //链接文件
b //块设备文件
c //字符设备文件
p //管道文件
s //socket文件
(7),根据大小来查找文件
-size
#find /tmp -size 2M //查找在/tmp 目录下等于2M的文件
#find /tmp -size +2M //查找在/tmp 目录下大于2M的文件
#find /tmp -size -2M //查找在/tmp 目录下小于2M的文件
(8),根据文件权限查找文件
-perm
#find /tmp -perm 755 //查找在/tmp目录下权限是755的文件
#find /tmp -perm +222 //表示只要有一类用户(属主,属组,其他)的匹配写权限就行
#find /tmp -perm -222 //表示必须所有类别用户都满足有写权限
(9),-nouser and -nogroup
#find / -nogroup –a –nouser //在整个系统中查找既没有属主又没有属组的文件(这样的文件通常是很危险的,作为系统工程师的我们应该及时清除掉)
[查找完执行的action]
# -print //默认情况下的动作
# -ls //查找到后用ls 显示出来
# -ok [commend] //查找后执行命令的时候询问用户是否要执行
# -exec [commend] //查找后执行命令的时候不询问用户,直接执行
这里要注意{}的使用:替代查找到的文件
#find /tmp -atime +30 –exec rm –rf {} ; #删除查找到的超过30天没有访问过文件
我们也可以使用xargs来对查找到的文件进一步操作
浏览量:2
下载量:0
时间: