![Systemd 计时器仅触发一次](https://linux22.com/image/188843/Systemd%20%E8%AE%A1%E6%97%B6%E5%99%A8%E4%BB%85%E8%A7%A6%E5%8F%91%E4%B8%80%E6%AC%A1.png)
我的 systemd 计时器配置为每天 3:00 运行。
计时器仅在第一天 3:00 触发,并在或列中systemd list-timers
显示。n/a
Left
Next
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
如果错过了上次应该运行的时间,则下次系统启动时它将运行命令的选项。