如何在Linux中查看服务日志 Linux journalctl查询技巧

这个journalctl,那个东西真是Linux中的一个宝藏。
你说它简单,它真的很简单,你说它强大,它真的强大。
我记得2 02 2 年有一次,我帮助市里的一家小公司发生了系统故障,那件事对我帮助很大。

当时我输入了一个命令journalctl,然后屏幕上就出现了很多信息。
当时我很困惑,后来我明白了。
我们先看Nginx日志,然后添加一个参数,journalctl -u nginx。
嘿,现在更清楚了。

后来想看今天的日志,就加了参数,journalctl -S Today 就看到了。
有时我需要实时监控sshd之类的日志。
我使用journalctl -u sshd -f。
这不是实时显示的吗?
时间过滤器也很有趣。
例如,如果我想查看昨天的日志,我使用journalctl -S昨天。
如果我想查看特定时间的日志,那么我使用journalctl -S "2 02 3 -1 0-2 7 1 4 :00:00"。

日志级别过滤器也非常有用。
例如,如果要查看错误日志,请使用journalctl -p err。
如果您想查看警告日志及以上级别,请使用journalctl -p warning。

启动会话过滤也是一个技巧。
如果你想查看当前的启动日志,请使用journalctl -b。
如果想查看上次启动日志,请使用journalctl -b -1
高级查询功能更令人印象深刻。
例如,如果我想查看 myapp.service 在过去一小时内的错误,我使用journalctl -u myapp.service -S "-1 hour" -p err。
对于关键字搜索,例如journalctl -u nginx |我用的是grep。
grep "bind failed",或者直接使用journalctl --grep参数。
按元数据过滤更方便。
例如,如果要查看特定进程ID的日志,请使用journalctl PID=1 2 3 4 5 如果要查看特定用户 ID 的日志,请使用journalctl UID=1 000。
如果要查看特定可执行文件路径的日志,请使用journalctl EXE=/usr/local/bin/my_script.sh。
日志大小和持久化管理也是知识。
配置文件为/etc/systemd/journald.conf,限制日志总大小、占用磁盘空间、限制非永久日志大小、更新后重启服务。
按大小手动清理日志清理,及时清理,永久保存,创建目录,系统自动检测并维护日志。

journalctl与传统日志记录的区别在于结构化存储和集中管理。
然而,它也有一些缺点。
您不能直接使用 cat 或 grep 查看二进制文件。
您应该使用journalctl命令。
综上所述,journalctl、参数化查询、元数据过滤确实提高了日志记录效率,而设置合理的日志大小和持久化策略保证了日志管理的可靠性和长期可用性。
掌握这些技能可以帮助您更快地发现问题并减少运维时间和成本。

Android APP 常见概念与 adb 命令

底线:开始使用命令,不要乱搞。

设备管理: adb devices 列出设备。
adb connect 连接 TCP/IP。
adb Kill-server 终止服务。
adb push <本地> <远程> 推送文件。
adb pull <远程> <本地> 拉取文件。

应用程序控制: adb install 安装 APK。
adb shell am start -n / 启动应用程序。
adb shell am force-stop 终止应用程序。
adb shell pm delete 删除数据。

日志分析: 亚行日志猫 | grep 过滤日志。
adb logcat -v time 输出时间戳。
adb bugreport 生成崩溃报告。

界面布局: adb shell uiautomator dump /sdcard/window_dump.xml 导出接口。
aapt 徽章转储 | grep launchable-activity 获取活动条目。

性能监控: adb shell dumpsys meminfo 内存信息。
adb shell dumpsys cpuinfo CPU 使用情况。
adb shell dumpsys gfxinfo GPU 渲染。

包裹信息: package adb shell dumpsys 包详细信息。

活动管理: adb shell dumpsys 主任务当前任务。
adb shell dumpsys 活动活动历史记录。

管理通知: notification dumpsys adb shell 获取通知列表。

总结:如果能使用这些命令,开发和测试效率会很高。