diff --git a/backups/monitored-backup b/backups/monitored-backup index c132c46..3e1736c 100755 --- a/backups/monitored-backup +++ b/backups/monitored-backup @@ -15,12 +15,12 @@ let jobs = [{ statusSlug: "photos-content-b2-kopia", type: "kopia", source: "/na ] def backup [job] { - if job.type == "kopia" { - kopiaBackup job - } else if job.type == "zfs" { - zfsBackup job + if $job.type == "kopia" { + kopiaBackup $job + } else if $job.type == "zfs" { + zfsBackup $job } else { - print $ "Invalid job type: " + job.type + print $"Invalid job type: " + $job.type } } @@ -43,16 +43,23 @@ def kopiaBackup [job] { def logStartJob [slug] { print $"starting job: ($slug)" - curl -s $"($statusHost)/ping/($pingKey)/($slug)/start" + print $"($statusHost)/ping/($pingKey)/($slug)/start" + curl -s $"($statusHost)/ping/($pingKey)/($slug)/start" | save -f /dev/null } def logFinishedJob [slug] { print $"finished job: ($slug)" - curl -s $"($statusHost)/ping/($pingKey)/($slug)" + curl -s $"($statusHost)/ping/($pingKey)/($slug)" | save -f /dev/null } -def main [jobName] { - let job = $jobs | where name == $jobName +def main [statusSlug] { + let matches = $jobs | where statusSlug == $statusSlug + if ($matches | length) == 1 { + backup ($matches | first) + } else { + print $"Did not find exactly one match for ($statusSlug)" + exit 1 + } } #sudo kopia --config-file=/home/jbrechtel/kopia/leonard-brechtel-backup/repository.config snapshot create /nas1/photos.roo.lol