Browse Source

Merge branch 'keep_minutely' of thomasleveil/borgmatic into master

Dan Helfman 7 years ago
parent
commit
a00407256d

+ 2 - 0
README.md

@@ -29,6 +29,8 @@ location:
 
 
 retention:
 retention:
     # Retention policy for how many backups to keep in each category.
     # Retention policy for how many backups to keep in each category.
+    keep_minutely: 60
+    keep_hourly: 24
     keep_daily: 7
     keep_daily: 7
     keep_weekly: 4
     keep_weekly: 4
     keep_monthly: 6
     keep_monthly: 6

+ 4 - 0
borgmatic/config/schema.yaml

@@ -122,6 +122,10 @@ map:
                 type: scalar
                 type: scalar
                 desc: Keep all archives within this time interval.
                 desc: Keep all archives within this time interval.
                 example: 3H
                 example: 3H
+            keep_minutely:
+                type: int
+                desc: Number of minutely archives to keep.
+                example: 60
             keep_hourly:
             keep_hourly:
                 type: int
                 type: int
                 desc: Number of hourly archives to keep.
                 desc: Number of hourly archives to keep.

+ 3 - 1
borgmatic/tests/integration/config/test_validate.py

@@ -44,6 +44,8 @@ def test_parse_configuration_transforms_file_into_mapping():
                 - hostname.borg
                 - hostname.borg
 
 
         retention:
         retention:
+            keep_minutely: 60
+            keep_hourly: 24
             keep_daily: 7
             keep_daily: 7
 
 
         consistency:
         consistency:
@@ -57,7 +59,7 @@ def test_parse_configuration_transforms_file_into_mapping():
 
 
     assert result == {
     assert result == {
         'location': {'source_directories': ['/home', '/etc'], 'repositories': ['hostname.borg']},
         'location': {'source_directories': ['/home', '/etc'], 'repositories': ['hostname.borg']},
-        'retention': {'keep_daily': 7},
+        'retention': {'keep_daily': 7, 'keep_hourly': 24, 'keep_minutely': 60},
         'consistency': {'checks': ['repository', 'archives']},
         'consistency': {'checks': ['repository', 'archives']},
     }
     }