【发布时间】:2017-05-08 01:27:26
【问题描述】:
我想在我的 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`'
还有一个计时器(如/etc/system.d/system/zfs-scrub.timer):
[Unit]
Description=Run zpool scrub every 1st Saturday
[Timer]
OnCalendar=Sat *-*-* 22:00:00
几周前启动它后,我检查了它是否正常运行。看来systemd仍然认为服务正在运行,所以定时器没有运行。
好像没有ExecStatus,所以systemd不知道服务完成了。
- 我错过了什么吗?我是否应该编写一个脚本来启动清理、greps zpool 状态行并捕获信号以在 systemd 发出信号时停止清理?
- 是否可以写一个
OnCalendar表示“每月一次,仅在周末”的行?
【问题讨论】:
标签: ubuntu-16.04 systemd zfs