summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoey Hess2017-07-10 11:57:47 -0400
committerJoey Hess2017-07-10 11:57:47 -0400
commit3d4ab1c022777d0c3359c456da14b27602ea45c6 (patch)
treebc5c4c3289b347e264dff4ea8fa2ffffbd7e78f0 /src
parent0ca7e0e0c715c3981c9b2e63b819f5326e22e698 (diff)
parentf40e794bc51ebd58654376b8849a31a7bc2acff6 (diff)
Merge remote-tracking branch 'felix/restic'
Diffstat (limited to 'src')
-rw-r--r--src/Propellor/Property/Restic.hs14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/Propellor/Property/Restic.hs b/src/Propellor/Property/Restic.hs
index 64cd4091..d9d4d4be 100644
--- a/src/Propellor/Property/Restic.hs
+++ b/src/Propellor/Property/Restic.hs
@@ -9,6 +9,7 @@ module Propellor.Property.Restic
, init
, restored
, backup
+ , backup'
, KeepPolicy (..)
) where
@@ -138,17 +139,17 @@ restored dir repo = go
-- backup job will be run at a time. Other jobs will wait their turns to
-- run.
backup :: FilePath -> ResticRepo -> Cron.Times -> [ResticParam] -> [KeepPolicy] -> Property (HasInfo + DebianLike)
-backup dir repo crontimes extraargs kp = backup' dir repo crontimes extraargs kp
+backup dir repo crontimes extraargs kp = backup' [dir] repo crontimes extraargs kp
`requires` restored dir repo
-- | Does a backup, but does not automatically restore.
-backup' :: FilePath -> ResticRepo -> Cron.Times -> [ResticParam] -> [KeepPolicy] -> Property (HasInfo + DebianLike)
-backup' dir repo crontimes extraargs kp = cronjob
+backup' :: [FilePath] -> ResticRepo -> Cron.Times -> [ResticParam] -> [KeepPolicy] -> Property (HasInfo + DebianLike)
+backup' dirs repo crontimes extraargs kp = cronjob
`describe` desc
`requires` init repo
where
desc = val repo ++ " restic backup"
- cronjob = Cron.niceJob ("restic_backup" ++ dir) crontimes (User "root") "/" $
+ cronjob = Cron.niceJob ("restic_backup" ++ intercalate "_" dirs) crontimes (User "root") "/" $
"flock " ++ shellEscape lockfile ++ " sh -c " ++ shellEscape backupcmd
lockfile = "/var/lock/propellor-restic.lock"
backupcmd = intercalate " && " $
@@ -162,9 +163,8 @@ backup' dir repo crontimes extraargs kp = cronjob
, shellEscape (getPasswordFile repo)
]
++ map shellEscape extraargs ++
- [ "backup"
- , shellEscape dir
- ]
+ [ "backup" ]
+ ++ map shellEscape dirs
pruneCommand = unwords $
[ "restic"
, "-r"