
我遇到了 dirvsh 過期規則的問題。看來他們根本不匹配。
情況
系統
Linux titan 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
dirvish 1.2.1-1.2
rsync 3.1.1-3
主控設定檔
bank:
/var/backup
exclude:
/backup/**
/dev/**
/proc/**
/sys/**
/mnt/**
/lost+found/**
/var/tmp/**
/tmp/**
/var/cache/apt/archives/*.deb
/var/lib/localbackup/**
log: bzip2
image-default: %Y-%m-%d-%H
Runall:
server1
expire-default: +6 hours
expire-rule:
hr { 00,01 } +7 days
wd { mon } +4 weeks
md { 1 } +2 months
我使用 Time::Period 表示法而不是 cronjob 表示法。看:http://www.dirvish.org/dirvish.conf.5.html部分規則過期
/etc/cron.d/dirvish
0 */2 * * * root /etc/dirvish/dirvish-cronjob
/etc/dirvish/dirvish-cronjob
實際上它是 debian 軟體包中的stock 檔案。我刪除了/usr/sbin/dirvish-expire --quiet收集所有備份集,以便我可以查看摘要文件中的過期語句。
/usr/sbin/dirvish-runall --quiet
我想要的備份保留間隔
- 將 00:00 或 01:00 所做的備份保留 7 天。
- 兩個月的第一天。
- 並在周一進行了 4 週的備份。
症狀
一個名為 2015-08-23-00 的備份集。這意味著在 00:00 製作(請參閱預設圖像)。這應該保存 7 天,但在摘要中:
Image-now: 2015-08-23 00:44:27
Expire: +6 hours == 2015-08-23 06:44:27
現在又是一個,今天早上做的。2015-08-24-01
Image-now: 2015-08-24 01:04:56
Expire: +6 hours == 2015-08-24 07:04:56
該設定非常新,因此我沒有任何舊的備份集來檢查 2 個月的間隔。
任何幫助表示讚賞。如果您需要更多信息,請告訴我。
提前致謝。