系统计时器rsnapshot每周

我已经configuration了一个systemd 定时器,用于每小时,每天和每周的备份,在外部HD上使用rsnapshot

当我在工作高清它连接,我已经configuration了rsnapshot.conf选项

no_create_root 1 

这样如果备份path不存在,则目录不会被创build,备份也不会完成。

我的问题是,当备份的时间到期的时候我不在工作,高清没有连接,所以没有rsnapshot运行,但每周定时器重置,而不是重新启动下次重新启动机器(重试)希望在工作)。

这是我的计时器configuration

 [Unit] Description=rsnapshot weekly backup [Timer] OnCalendar=weekly Persistent=true [email protected] [Install] WantedBy=timers.target 

如果我希望每周运行一次

在/ var / log / messages中

在每天或每小时的手术中,没有任何手术成功的证据。

如果我要求定时器状态

sudo systemctl status rsnapshot-weekly.timer

 Oct 24 13:30:35 criniv rsnapshot[10991]: /usr/bin/rsnapshot daily: completed successfully rsnapshot-weekly.timer - rsnapshot weekly backup Loaded: loaded (/etc/systemd/system/rsnapshot-weekly.timer; enabled) Active: active (waiting) since lun 2016-10-24 08:46:21 CEST; 5h 48min ago 

这似乎是以前的运行是成功的,但事实并非如此。 你能帮我弄清楚如何正确configuration它?

正如Mark在定时器configuration中所build议的那样,我将OnCalendar从“ 单元”部分改为

 [Timer] OnCalendar=weekly Persistent=true [email protected] 

 [Timer] OnCalendar=monday *-*-* 10:00:00 Persistent=true [email protected] 

这不是我正在寻找,但它减轻了我的问题。 我正在寻找的是一个修复的调整

OnCalendar =每周

行为,如果机器停机跳过备份 – 同样的问题,如果我指定一个date为教程教导,但我通过安排一个时间段,我知道我的机器上,以避免这个问题。

您可以通过在定时器单元文件中使用Persistent=指令来创build“catchup”运行的每周备份,logging在man systemd.timer

永久=

采取布尔参数。 如果为true,则服务单位上次触发的时间将存储在磁盘上。 当定时器被激活时,如果在定时器不活动的时间内至less被触发一次,则服务单元被立即触发。 当机器closures时,这对于赶上错过的服务非常有用。 请注意,此设置仅对configuration了OnCalendar =的定时器有效。