pgbackrest
$ pgbackrest info --output json | jq '"Stanza: " + .[].name + " (" + .[].status.message + ") " + "Last backup completed at " + (.[].backup[-1].timestamp.stop | strftime("%Y-%m-%d %H:%M") )'
"Stanza: my-stanza (ok) Last backup completed at 2024-07-27 09:23"
get all the backups for a stanza
$ pgbackrest info --stanza my-stanza --output json | jq -r '"Stanza: " + .[].name + " (" + .[].status.message + ") " + " backup completed at " + (.[].backup[].timestamp.stop | strftime("%Y-%m-%d") ) + " of size " + (.[].backup[].info.size/1024|tostring ) + " MB"'
Stanza: my-stanza (ok) backup completed at 2024-01-22 of size 3578696.4814453125 MB
Stanza: my-stanza (ok) backup completed at 2024-01-23 of size 3578696.4814453125 MB
Stanza: my-stanza (ok) backup completed at 2024-01-24 of size 3578696.4814453125 MB
Stanza: my-stanza (ok) backup completed at 2024-01-25 of size 3578696.4814453125 MB
Stanza: my-stanza (ok) backup completed at 2024-01-26 of size 3582783.4150390625 MB
Stanza: my-stanza (ok) backup completed at 2024-01-27 of size 3582783.4150390625 MB
Stanza: my-stanza (ok) backup completed at 2024-01-28 of size 3582783.4150390625 MB
Stanza: my-stanza (ok) backup completed at 2024-01-29 of size 3582783.4150390625 MB
Stanza: my-stanza (ok) backup completed at 2024-01-30 of size 3585732.208984375 MB
Stanza: my-stanza (ok) backup completed at 2024-01-31 of size 3585732.208984375 MB
get the last backup within a set of servers
$ for server in {1..10}; do printf "Stanza server-%02d with last backup at %s\n" $server "$( pgbackrest info --stanza $(printf '%02d' $server) --output json | jq ' (.[0].backup[-1].timestamp.stop | strftime("%Y-%m-%d %H:%M") )' )" ; done
Stanza server-01 with last backup at "2024-01-31 09:23"
Stanza server-02 with last backup at "2024-01-31 01:23"
Stanza server-03 with last backup at "2024-01-31 02:23"
Stanza server-04 with last backup at "2024-01-31 03:23"
Stanza server-05 with last backup at "2024-01-31 05:23"