You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RockyLinux 8中dnf-automatic配置Gotify通知与定时器设置问题

dnf-automatic Gotify 配置校验

你当前的配置无法正常实现推送,核心问题是command_format参数设置错误:

  • 现有配置仅会执行无参数的gotify push命令,不会传入通知正文,和你预期的gotify push "body"调用逻辑不符。
  • 根据配置注释说明,{body}是已经完成shell转义的通知正文变量,你可以二选一使用以下正确配置:
    • 方案1(完全匹配你的预期调用格式,推荐):直接通过命令参数传递正文,对应配置片段如下
      [emitters]
      emit_via = command
      
      [command]
      command_format = "gotify push {body}"
      stdin_format = ""
      
    • 方案2:通过标准输入传递正文(适合通知内容过长、避免命令行参数长度超限的场景),需要给gotify-cli加-参数指定从标准输入读取内容,对应配置片段如下
      [emitters]
      emit_via = command
      
      [command]
      command_format = "gotify push -"
      stdin_format = "{body}"
      

配置修改完成后,可以直接手动执行dnf automatic命令测试推送是否正常,无需等待定时器触发。

修改dnf-automatic.timer运行频率

dnf-automatic的定时触发依赖systemd timer单元,不要直接修改/usr/lib/systemd/system/路径下的原生单元文件,否则后续系统更新会覆盖自定义配置,按以下步骤操作即可:

  1. 将原生timer单元文件复制到systemd本地配置目录,做自定义覆盖:
    cp /usr/lib/systemd/system/dnf-automatic.timer /etc/systemd/system/
    
  2. 编辑/etc/systemd/system/dnf-automatic.timer文件,找到[Timer]配置段,默认配置通常为每日随机延迟1小时内触发:
    [Timer]
    OnCalendar=daily
    RandomizedDelaySec=60m
    Persistent=true
    
    你可以根据排查需求修改OnCalendar参数调整触发频率,常用配置示例:
    • 排查测试用,每10分钟触发一次:OnCalendar=*:0/10
    • 每小时触发一次:OnCalendar=hourly
    • 固定每日凌晨2点整触发(排查时可临时把RandomizedDelaySec设为0取消随机延迟,方便核对触发时机):OnCalendar=02:00:00
  3. 配置修改完成后,重新加载systemd配置并重启timer单元使规则生效:
    systemctl daemon-reload
    systemctl restart dnf-automatic.timer
    
  4. 执行以下命令可以验证配置是否生效,查看定时器下一次触发时间:
    systemctl list-timers dnf-automatic.timer
    

排查工作完成后记得把触发频率改回合理值,避免过于频繁的更新检查占用系统资源。

内容的提问来源于stack exchange,提问作者user19292461

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 19:03:31