当前位置: 首页 > 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.dtcms.com/a/316797.html

相关文章:

  • 《方块34:金花之渊》
  • Linux 常用命令大全
  • C++ 拷贝赋值、swap 与 noexcept 深度解析:高效实现 operator=
  • 工业数采引擎-通信链路SOCKET
  • Python高级编程与实践:Python网络编程基础与实践
  • Linux的NFS与Autofs配置指南
  • mac安装pycharm
  • 2048小游戏
  • VUE2 学习笔记 合集
  • 如何在nuxt项目中使用axios进行网络请求?
  • 【STM32】HAL库中的实现(三):PWM(脉冲宽度调制)
  • C语言线程同步详解(互斥锁、信号量、条件变量和读写锁)
  • GPU 安装
  • 前端包管理器深度对比
  • 双模对讲机是什么意思?与模拟/数字对讲机有什么区别?
  • 使用 ECharts 实现小区住户数量统计柱状图
  • Leetcode-2080区间内查询数字的频率
  • Spring AI 系列之三十六 - Spring AI Alibaba-nl2sql
  • 02--类和对象
  • 大厂面试题
  • React在使用create-react-app创建项目慢的解决办法
  • TanStack React Query 完全指南:从0到精通
  • Flux.1系列模型解析--Flux.1 Tools
  • 【模电笔记】—— 直流稳压电源——整流、滤波电路
  • 无线网络扫描工具 ‌WifiInfoView‌
  • 高通平台Wi-Fi Display学习-- 调试 Wi-Fi Display 问题
  • 人工智能领域、图欧科技、IMYAI智能助手2024年全年历史更新大事件汇总
  • 人工智能领域、图欧科技、IMYAI智能助手2025年6月更新月报
  • RHCA05--进程管理与文件系统管理
  • 基于SpringBoot的青少年网络安全教育系统