Systemd 计时器仅触发一次

Systemd 计时器仅触发一次

我的 systemd 计时器配置为每天 3:00 运行。

计时器仅在第一天 3:00 触发,并在或列中systemd list-timers显示。n/aLeftNext

borgbackup.timer:

[Unit]
Description=Run Borgbackup daily

[Timer]
OnCalendar=03:00:00
Unit=borgbackup.target

[Install]
WantedBy=timers.target

borgbackup.target

[Unit]
Description=Borgbackup group target
Wants=borgbackup-1.service borgbackup-2.service

[Install]
Also=borgbackup.timer

borgbackup-1.service

[Unit]
Description=Daily Borgbackup
After=network.target

[Service]
Type=simple
Environment=BORG_PASSPHRASE="..."
Environment=BORG_BASE_DIR="/home/borg"
Environment=BORG_REPO="..."
ExecStart=/bin/bash -c "/usr/bin/borg create ::$(date --iso-8601) ..."
ExecStopPost=/usr/bin/borg prune -s -d 1 -w 1 -m 1
WorkingDirectory=/home/borg

[Install]
WantedBy=default.target

borgbackup-1 和 borgbackup-2 之间的唯一区别是存储库。

答案1

现在需要OnCalendar更改,它显示下次 3:00 发生时您需要添加星期几、月份等。您也可以将其更改为您 所Daily拥有的语法*-*-* 3:00:00这个链接中关于它的好部分。

https://wiki.archlinux.org/index.php/Systemd/Timers#Timer_units

编辑:您可能还想查看persistent如果错过了上次应该运行的时间,则下次系统启动时它将运行命令的选项。

相关内容