parent
							
								
									e9bc912ce0
								
							
						
					
					
						commit
						810196bdbb
					
				
							
								
								
									
										34
									
								
								4.3-Prune-timeframe-examples.md
									
									
									
									
									
										Normal file
									
								
							
							
								
								
								
								
									
									
								
								
								
							
						
						
									
										34
									
								
								4.3-Prune-timeframe-examples.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					# Prune timeframe examples
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The [borg documentation](https://borgbackup.readthedocs.io/en/stable/usage/prune.html) outlines timeframes pretty well, but since you're already here, I'll give you a few examples to get you started. The default configuration file includes this line as an example and pretty decent default value:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```ini
 | 
				
			||||||
 | 
					borgPruneSettings="--keep-within=14d --keep-daily=30 --keep-weekly=12 --keep-monthly=12"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					I use the long-form parameters because they are very self explanatory. In this example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Regardless of other options, keep any backups made in the last 14 days (automated, manual, accidental, everything);
 | 
				
			||||||
 | 
					* Keep the most recent backup made each day for the last 30 days;
 | 
				
			||||||
 | 
					* Keep the most recent backup made each week for 12 weeks; and
 | 
				
			||||||
 | 
					* Keep the most recent backup made each month for 12 months.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					There are quirks with how borg counts days and you need to remember that earlier timeframes protect and push later ones. For example, if an end-of-month and end-of-week backup coincide, the end-of-week will 'push' the monthly backups back. Please refer to the [documentation](https://borgbackup.readthedocs.io/en/stable/usage/prune.html) for better examples.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## other examples
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Preserve the last 30 days regardless and then 16 weeks thereafter:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```ini
 | 
				
			||||||
 | 
					borgPruneSettings="--keep-within=30d --keep-weekly=16"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Preserve the last 15 end-of-day, 4 weeks end-of-week (will start counting after the 15-day period!) and then 6 months end-of-month thereafter:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```ini
 | 
				
			||||||
 | 
					borgPruneSettings="--keep-daily=15d --keep-weekly=4 --keep-monthly=6"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## a note about 'keep-within'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You may notice that I use 'keep-within' and 'keep-daily'. *keep-within* means *all* backups made within the specified timeframe whereas *keep-daily* means the *last* backup made on that day. Let's say I'm doing a migration or something, I might make 5 backups all on the migration day. *keep-within* ensures that all 5 of those backups are kept and does not count them toward the the single *keep-daily* that will also be made.
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user