Compare commits

..

2 Commits

Author SHA1 Message Date
ba7c2d4b71 Add config example to readme 2022-06-26 12:35:04 +02:00
3435f1d4e6 Change project name 2022-06-26 12:34:00 +02:00
4 changed files with 45 additions and 8 deletions

2
Cargo.lock generated
View File

@ -97,7 +97,7 @@ dependencies = [
]
[[package]]
name = "file_reap"
name = "filereap"
version = "0.1.0"
dependencies = [
"chrono",

View File

@ -1,5 +1,5 @@
[package]
name = "file_reap"
name = "filereap"
version = "0.1.0"
edition = "2021"

View File

@ -1,4 +1,36 @@
# file_reap
# filereap
Delete dated files in a directory according to a time period config.
Useful for backup directories that accumulate files over time.
## Example config
```toml
# Specify a folder containing backups
path = "/backups/docker"
# uncomment if the backups are btrfs subvolumes
#btrfs = true
[[periods]]
# For the first day, keep one backup per second (basically, don't delete backups)
# syntax supports suffixes s, m, h, d, w
period_length = "1d"
chunk_size = "1s"
[[periods]]
# For the next week, keep one backup per hour
period_length = "1w"
chunk_size = "1h"
[[periods]]
# For the next 4 weeks, keep one backup per day
period_length = "4w"
chunk_size = "1d"
# can add more [[periods]] as needed
```
## Example usage
```sh
filereap --help
```

View File

@ -1,18 +1,23 @@
path = "./test"
# Specify a folder containing backups
path = "/backups/docker"
# uncomment if the backups are btrfs subvolumes
#btrfs = true
[[periods]]
period_length = "10m"
# For the first day, keep one backup per second (basically, don't delete backups)
# syntax supports suffixes s, m, h, d, w
period_length = "1d"
chunk_size = "1s"
[[periods]]
# For the next week, keep one backup per hour
period_length = "1w"
chunk_size = "1h"
[[periods]]
# For the next 4 weeks, keep one backup per day
period_length = "4w"
chunk_size = "1d"
[[periods]]
period_length = "40w"
chunk_size = "4w"
# can add more [[periods]] as needed