A configurable bupstash wrapper.
Mulkup is a backup script that wraps bupstash.
Features:
-
Backup rotation (hourly, daily, weekly, monthly)
-
Multiple stashes
-
Exclusion lists
Outside of Nix, Stack is the easiest way to install Mulkup.
Check out the repository and run:
stack installCopy config.example.dhall to
config.dhall and open it in a text editor. Edit it to suit your
needs.
To configure the bupstash repository, key, and any other settings available in bupstash itself, set the corresponding environment variables. See the bupstash manual for details.
Execute the program without arguments to perform a backup:
mulkupA simple configuration file that defines a single stash might look like the following:
let home = "/home/mulk" in
{ host = "mulkinator"
, stashes =
[ { name = "mulk.tar"
, baseDir = home
, tiers =
{ hourly = { keep = 24 }
, daily = { keep = 7 }
, weekly = { keep = 4 }
, monthly = { keep = 12 }
}
, exclusions =
[ "**/.stack-work"
, "**/dist-newstyle"
, "${home}/.cabal/bin"
, "${home}/.cabal/packages"
, "${home}/.ghcup"
, "${home}/.stack"
, "${home}/Library/Caches"
]
}
]
}You can add as many stashes to the stashes list as you like.