当前位置: 首页 > news >正文

linux-系统日志查看指令systemctl

journalctl 是 systemd 日志管理工具,用于查询和显示由 systemd-journald 收集的系统日志.

systemctl

systemctl命令来自英文词组system control的缩写,是Linux系统中用于管理系统服务的工具。它提供了一系列命令,用于启动、停止、重启和查看服务状态等操作。

在 systemd 中,服务主要通过 .service 文件进行定义和管理.

目录区别:

/usr/lib/systemd/system/:这是软件包安装的默认目录(由发行版或 RPM/DEB 包管理),属于系统预置文件。/etc/systemd/system/:这是管理员自定义配置的目录,优先级更高。/run/systemd/system/:运行时临时配置(重启失效)自定义路径:可以通过 systemctl link /path/to/foo.service 添加

常用命令:

命令作用
start启动服务
stop停止服务
restart重启服务
reload重新加载服务配置,不中断服务
enable设置服务为开机自启动
disable禁用服务开机自启动
status显示服务的当前状态
is-active检查服务当前是否正在运行
is-enabled检查服务是否设置为开机自启动
daemon-reload重新加载 systemd 的配置文件,通常在修改服务文件后使用

service文件定义好后,

sudo systemctl start [service_name] 启动服务

sudo systemctl enable [service_name] 设置开机自启动。

参考地址: Systemctl 详解:Linux 服务管理工具

journalctl

systemd包含了一个叫做journalctl的辅助组件,其主要作用是管理系统的事件日志记录。

# journalctl -f
journalctl 跟踪日志文件 (读取最新条目)# journalctl -xe-x:表示显示扩展信息,包括日志消息的描述和建议(如果可用)。-e:表示直接跳转到日志的末尾,方便查看最新的日志条目(类似于 tail -f 的效果)。# journalctl -n 数字	
我们可以通过-n 或者 --lines=参数来指定显示的行数大小。# journalctl -u nginx.service 
按照服务进行筛选

参考地址: ournalctl命令详解,与如何查看系统日志

注意:

  1. 如果 Nginx 是直接通过二进制文件启动(而非 systemctl),不会留下记录. 即使通过systemctl 启动, 也未必留下记录(eg. nginx reload).

  2. 获取 Nginx 进程的reload执行情况

ps -eo pid,comm,lstart | grep nginx  这样可以. 
[root@abc redis]# ps -eo pid,comm,lstart | grep nginx44700 nginx           Tue Aug  5 10:35:44 2025144219 nginx           Tue Aug  5 16:55:49 2025144220 nginx           Tue Aug  5 16:55:49 2025

解释 -eo pid,comm,lstart

这是 ps 的选项和输出格式控制部分:-e:表示选择所有进程(every process)。等同于 --all。-o:表示自定义输出格式(user-defined format)。后面跟的是要显示的列名。pid,comm,lstart:指定要显示的字段,用逗号分隔:pid:进程 ID(Process ID),是操作系统用来唯一标识一个进程的数字。comm:命令名(command name),即进程所执行的程序的名称(通常是可执行文件的 basename,如 nginx)。lstart:进程的启动时间(full startup time),显示进程启动的完整日期和时间(包括年、月、日、时、分、秒、时区等)。

定时任务

如果需要添加定时任务,可以直接编辑 /etc/crontab 或使用 crontab -e(用户级任务)。

日志查看

查看 "renew"关键字周围内容

cat /var/log/letsencrypt/letsencrypt.log | grep -A 5 -B 5 "renew"
-A 5:After,表示匹配行之后的 5 行也一并输出。
-B 5:Before,表示匹配行之前的 5 行也一并输出。

查看端口占用

sudo netstat -tulnp | grep -E ':80|:443'
选项	含义
-t	显示 TCP 协议的连接和监听端口(TCP)
-u	显示 UDP 协议的连接和监听端口(UDP)
-l	只显示 正在监听(listening)的套接字(即服务等待客户端连接的状态)
-n	以 数字形式 显示地址和端口号(不进行 DNS 反向解析,更快更清晰)
-p	显示 占用端口的进程 PID 和程序名称(需要 root 权限才能看到所有进程)
tee 是 Linux 和 Unix 系统中的一个非常有用的命令行工具,主要用于从标准输入读取数据,并将其同时输出到标准输出(屏幕)和一个或多个文件中。
#1. 将命令输出同时显示在屏幕并保存到文件
ls -la | tee output.txt

MySQL && 文件

用惯了UI工具, 如何通过命令行进行数据库备份和执行SQL文件?

mysql -u root -p
USE database_name;
SOURCE /path/to/file.sql;

#mysql导出数据库
–extended-insert 表示长INSERT,多row在一起批量INSERT,提高导入效率
----complete-insert 表示拒绝默认列名, 必须指定每一个列名

mysqldump -u root -p --default-character-set=utf8mb4 
--complete-insert --extended-insert=false aaa-cloud 
> aaa-cloud_bk.sql

mybatis 配置 sql打印

mybatis:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl```
http://www.lryc.cn/news/611060.html

相关文章:

  • 37.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--增加Github Action
  • STM32U575低功耗调试
  • Rust进阶-part3-生命周期
  • DAY 36 复习日
  • C++进阶—特殊类设计
  • 国产三防平板电脑是什么?三防平板推荐
  • Prometheus 监控平台部署 (云原生环境)
  • C语言基础_补充知识、数据类型转换、选择结构
  • OpenLayers学习(一)-基础
  • bcryptprimitives.dll是什么文件
  • 机器学习 集成学习之随机森林
  • 真正的多模态上下文学习需要关注视觉上下文
  • ASP3605I同步降压调节器的高频化设计与多相扩展技术优化方案
  • 利用链上数据进行数字资产量化因子发现
  • 关于怎么知道linux(ubuntu)系统交叉编译器的命令的方法:
  • 算法训练之哈希表
  • 【自动化运维神器Ansible】playbook核心组件之templates深度解析
  • 如何在虚拟机(Linux)安装Qt5.15.2
  • lvm逻辑卷管理
  • docker-compose常用的网络模式有哪些?
  • Linux DNS缓存与Nginx DNS缓存运维文档
  • RK3568 Linux驱动学习——字符设备驱动开发
  • 八股——WebSocket
  • 单片机充电的时候电池电压会被拉高,如何检测电压?
  • 三种灰狼算法求解无人机三维路径规划【MATLAB实现】
  • 计算机网络:(十三)传输层(中)用户数据报协议 UDP 与 传输控制协议 TCP 概述
  • 计算机网络:详解路由器如何转发子网数据包
  • DHCP 握手原理
  • Android与Flutter混合开发:页面跳转与通信完整指南
  • PHP获取淘宝商品详情返回参数详解