首页/系统/信创系统运维速查/systemd-analyze verify 校验单元与 timer
服务与运维65 条

systemd-analyze verify 校验单元与 timer

写完单元文件先 verify:检查语法、可执行路径与依赖;timer 的时间表达式用 calendar 子命令验证;较新版本还提供 security 子命令评估沙箱能力面。

信创系统运维速查系统更新于 2026-10-13

systemd-analyze verify 做什么

systemd-analyze 是诊断 systemd 的瑞士军刀,其中 verify 子命令专门校验单元文件:检查语法、可执行路径是否存在、依赖单元是否可用、有没有循环依赖,在把单元放进生产之前跑一遍能挡掉大部分低级错误。同一条命令还提供 calendar(验证 timer 时间表达式)与 security(评估服务沙箱能力面)两个子命令,前者在写定时任务时特别有用。

基本信息

适用平台systemd 系 Linux:openEuler、麒麟、UOS、RHEL 8/9
校验单元systemd-analyze verify 单元文件路径
校验时间表达式systemd-analyze calendar '表达式' --iterations=N
安全评分systemd-analyze security 服务名(较新版本提供)
权限要求读单元文件即可,涉及系统单元建议 root

典型使用场景

  • 新写单元上生产前:先校验语法与路径,避免 reload 后启动失败
  • 定时任务验证:用 calendar 确认表达式解释是否与预期一致
  • 改动排查:服务莫名其妙不启动时先 verify 看有没有解析错误
  • 安全评审:用 security 输出作为加固依据,逐项收紧沙箱选项
  • 批量模板落地:同一套单元模板分发到多台机器前统一校验

校验命令

校验命令
systemd-analyze verify /etc/systemd/system/myapp.service   # 校验服务单元
systemd-analyze verify /etc/systemd/system/backup.timer    # 校验 timer 单元
systemd-analyze calendar 'daily' --iterations=3            # 验证时间表达式
systemd-analyze calendar 'Mon *-*-* 03:00:00' --iterations=3
systemd-analyze security myapp.service                     # 安全评分与建议(较新版本)
systemd-analyze verify /usr/lib/systemd/system/sshd.service  # 校验系统自带单元
systemd-analyze cat-config systemd/system/myapp.service    # 打印合并后的最终配置

子命令与用途

子命令作用输出解读
verify校验单元语法与依赖报错指出具体行与原因,无输出表示通过
calendar解释日历时间表达式输出下次触发时间列表,与预期比对
security评估沙箱加固评分数值越高暴露面越大,附逐项建议
cat-config打印合并后的配置看多个配置文件叠加后的最终生效值
blame启动耗时归因定位启动慢在哪个单元
time整体启动时间配合 critical-chain 看关键路径
verify 会解析依赖并与系统现有单元对照,能提示语法错误、缺失依赖与循环引用;把这条命令作为单元文件入库前的固定检查项。
security 给出的加固建议按业务评估后再套用:把 ProtectSystem、PrivateTmp 等收紧过度会让服务无法读写其工作目录。

易错点

  • verify 通过不代表运行正确:端口占用、文件权限、配置内容问题仍需实跑验证。
  • 写完单元只做 daemon-reload 不校验,语法错误会在下次启动时才暴露,甚至影响开机。
  • timer 表达式凭感觉写,未用 calendar 验证,到点不执行却怀疑 systemd 有问题。
  • 照搬 security 的建议一次性收紧所有沙箱选项,服务因无法访问工作目录而启动失败。
  • 只校验服务单元不校验它依赖的 target 与 socket 单元,依赖缺失导致启动顺序异常。

数据来源与参考

  • man 1 systemd-analyze(verify/calendar/security)
  • systemd 官方文档(单元校验)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌