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

如何调整OpenSuSE 15.5上MD RAID定期检查的执行时间与频率

如何调整OpenSuSE 15.5上MD RAID定期检查的执行时间与频率

我来帮你解决这个问题——之前你修改后出现两次检查,是因为systemd的override配置文件是追加叠加而不是直接替换原配置的,原有的周日1点规则还在生效,所以才会重复触发。下面一步步教你正确的修改方法:

先理清两个相关的Timer

你看到的mdcheck_start.timer是负责启动全新RAID检查的定时器,而mdcheck_continue.timer是用来恢复中途中断的检查(比如服务器在检查过程中关机,下次开机后它会触发继续未完成的任务),两个都可以按需调整。

正确修改Timer的步骤

1. 修改启动检查的Timer(mdcheck_start.timer)

首先编辑它的override配置文件:

sudo systemctl edit mdcheck_start.timer

在打开的编辑器里,先清空原有的OnCalendar规则(不然会和新规则叠加),再添加你想要的时间和频率:

[Timer]
# 先清空原有的触发规则,避免重复
OnCalendar=
# 示例1:改成每周六23点执行
OnCalendar=Sat *-*-* 23:00:00
# 示例2:改成每两周的周六23点执行(结合Interval实现间隔)
# OnCalendar=Sat *-*-* 23:00:00
# Interval=2weeks
# 如果你服务器不是24/7,建议关闭Persistent,避免关机期间错过的任务开机后强制执行
Persistent=false

保存退出编辑器后,重新加载systemd配置并重启Timer:

sudo systemctl daemon-reload
sudo systemctl restart mdcheck_start.timer

然后用下面的命令验证新的触发时间:

sudo systemctl list-timers mdcheck_start

2. (可选)修改恢复检查的Timer(mdcheck_continue.timer)

如果你想调整中断后恢复检查的时间(比如不要在凌晨1:05),用同样的方法修改:

sudo systemctl edit mdcheck_continue.timer

输入配置:

[Timer]
OnCalendar=
# 改成和启动检查时间相近的时间,比如周六23:05
OnCalendar=Sat *-*-* 23:05:00

同样执行重载和重启操作:

sudo systemctl daemon-reload
sudo systemctl restart mdcheck_continue.timer

为什么之前会重复执行?

systemd的drop-in override文件(就是你编辑的/etc/systemd/system/mdcheck_start.timer.d/override.conf)是追加到原系统配置上的,而不是完全替换。你之前只加了新的OnCalendar规则,原配置里的OnCalendar=Sun *-*-* 1:00:00依然有效,所以两个时间都会触发检查,导致重复执行。必须先设置OnCalendar=(空值)来清空原规则,再添加新的。

额外提示

  • 如果你想了解更多systemd日历表达式的语法,可以输入man systemd.timer查看详细说明,支持非常灵活的时间配置(比如指定特定日期、间隔周期等)。
  • Persistent=false适合你的非24/7服务器,这样如果服务器在应该执行检查的时间关机了,不会在开机后补执行,而是直接等到下一个周期。

备注:内容来源于stack exchange,提问作者Neppomuk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 13:48:13