小编tie*_*nou的帖子

通过 systemd 管理 ZFS 清理

我想在我的 ZFS 服务器上自动进行 zpool 清理。我已将以下 systemd 服务编写为/etc/systemd/system/zfs-scrub.service

[Unit]
Description=Scrub ZFS tank pool

[Service]
Type=simple
ExecStart=/bin/sh -c 'zpool scrub `zpool list -H -o name`'
RemainAfterExit=yes
ExecStop=/bin/sh -c 'zpool scrub -s `zpool list -H -o name`'
Run Code Online (Sandbox Code Playgroud)

以及计时器(如/etc/system.d/system/zfs-scrub.timer):

[Unit]
Description=Run zpool scrub every 1st Saturday

[Timer]
OnCalendar=Sat *-*-* 22:00:00
Run Code Online (Sandbox Code Playgroud)

几周前开始使用后,我检查了它是否正常运行。看来systemd仍然认为服务正在运行,所以计时器没有运行。

似乎没有ExecStatus,所以 systemd 不知道服务已完成。

  • 我错过了什么吗?我是否应该编写一个脚本来启动清理、greps zpool 状态行并捕获信号以在 systemd 发出信号时停止清理?
  • 是否可以写OnCalendar一行意思是“每月一次,仅在周末”?

zfs systemd ubuntu-16.04

6
推荐指数
1
解决办法
1790
查看次数

标签 统计

systemd ×1

ubuntu-16.04 ×1

zfs ×1