From f40e794bc51ebd58654376b8849a31a7bc2acff6 Mon Sep 17 00:00:00 2001 From: FĂ©lix Sipma Date: Tue, 9 May 2017 17:21:31 +0200 Subject: Restic: backup' now takes a list of filepaths, export backup' --- src/Propellor/Property/Restic.hs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/Propellor/Property') 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" -- cgit v1.2.3