CentOS 7 常用查看日志命令
1、系统日志
/var/log/messages:系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一。
/var/log/secure:与安全相关的日志信息,如登录、sudo操作等。
/var/log/maillog:与邮件相关的日志信息。
/var/log/cron:与定时任务相关的日志信息。
/var/log/boot.log:守护进程启动和停止相关的日志消息。
2、查看日志的方法
cat:用于查看整个日志文件内容,例如cat /var/log/messages
。
less:分页查看日志文件,可以方便地浏览大文件,例如less /var/log/messages
。
tail:查看文件末尾部分的内容,通常用于查看最新的日志条目,例如tail n 20 /var/log/messages
(显示最后20行)。
grep:筛选包含特定关键词的日志行,例如grep "error" /var/log/messages
。
journalctl:用于查看由systemd管理的日志,支持多种过滤和搜索功能,例如journalctl u httpd.service
(查看httpd服务的日志)。
日志管理工具 journalctl
1、基本使用
查看所有日志:journalctl
。
查看内核日志:journalctl k
。
查看系统本次启动的日志:journalctl b
。
查看上一次启动的日志:需更改设置以启用永久存储,然后使用journalctl b 1
。
查看指定时间的日志:使用since
和until
选项,例如journalctl since "20171030 18:10:30"
。
2、按服务过滤日志
查看特定服务的日志:journalctl u <服务名>.service
,例如journalctl u httpd.service
。
按进程ID过滤日志:journalctl _PID=<进程ID>
。
按用户或群组ID过滤日志:journalctl _UID=<用户ID>
或journalctl _GID=<群组ID>
。
3、高级用法
实时滚动显示最新日志:journalctl f
。
合并显示多个服务的日志:journalctl u nginx.service u phpfpm.service since today
。
按优先级过滤日志:journalctl p <优先级>
,例如journalctl p err
(只显示错误级别及以上的日志)。
日志配置与优化
1、持久化存储
创建/var/log/journal
目录并重启日志服务:
```bash
sudo mkdir /var/log/journal
sudo chown root:systemdjournal /var/log/journal
sudo chmod 2775 /var/log/journal
sudo systemctl restart systemdjournald.service
```
修改配置文件/etc/systemd/journald.conf
,将Storage
从auto
改为persistent
,然后重启日志服务。
2、日志数据清理
按大小清理日志:journalctl vacuumsize=1G
。
按时间清理日志:journalctl vacuumtime=1d
。
3、配置日志容量限制
编辑/etc/systemd/journald.conf
文件,设置以下参数:
SystemMaxUse
:指定日志所能使用的最高持久存储容量。
SystemKeepFree
:指定在添加新条目时需要保留的剩余空间。
SystemMaxFileSize
:控制单一日志文件大小。
RuntimeMaxUse
:指定易失性存储中的最大可用磁盘容量。
RuntimeKeepFree
:指定向易失性存储内写入数据时为其它应用保留的空间量。
RuntimeMaxFileSize
:指定单一日志文件可占用的最大易失性存储容量。
相关问答 FAQs
1、如何查看CentOS 7中某个服务的日志?
可以使用journalctl u <服务名>.service
命令来查看某个服务的日志,要查看httpd服务的日志,可以执行journalctl u httpd.service
。
2、如何在CentOS 7中持久化保存日志?
可以通过以下步骤实现日志的持久化保存:
1. 创建/var/log/journal
目录并设置权限:
```bash
sudo mkdir /var/log/journal
sudo chown root:systemdjournal /var/log/journal
sudo chmod 2775 /var/log/journal
```
2. 修改/etc/systemd/journald.conf
配置文件,将Storage
从auto
改为persistent
。
3. 重启systemdjournald服务:sudo systemctl restart systemdjournald.service
。