From fc2af9b61919b2d3c1c70045ba3869667dabdbcf Mon Sep 17 00:00:00 2001 From: Ben Grande Date: Mon, 18 Mar 2024 15:26:05 +0100 Subject: [PATCH] fix: remove colors from output of backup file --- salt/dom0/files/bin/qvm-backup-find-last | 38 +++++++++++++++++------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/salt/dom0/files/bin/qvm-backup-find-last b/salt/dom0/files/bin/qvm-backup-find-last index 7f3d00c..c5daf55 100755 --- a/salt/dom0/files/bin/qvm-backup-find-last +++ b/salt/dom0/files/bin/qvm-backup-find-last @@ -1,17 +1,27 @@ #!/bin/sh -# SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. +# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. # # SPDX-License-Identifier: AGPL-3.0-or-later set -eu +list_backups(){ + ## Hide stderr to hide remote login connection messages (banners etc). + # shellcheck disable=SC2086 + ${qrun_cmd} "${qube}" -- "${cmd} ${find_cmd} 2>/dev/null" +} + +list_last_backup(){ + list_backups | tail -1 +} + usage(){ - printf '%s\n' "usage: ${0##*/} QUBE DIR [CMD]" - printf '%s\n' "example: ${0##*/} usb-qube /local/dir/backups" - printf '%s\n' "example: ${0##*/} ssh-qube /remote/dir/backups 'ssh user@server'" - printf '%s\n' "note: when using a remote login command (ssh), the DIR is the remote directory" - printf '%s\n' "note: the directory specified must be the parent of where the backups are saved" + printf '%s\n' "Usage: ${0##*/} QUBE DIR [CMD] +example: ${0##*/} usb-qube /local/dir/backups +example: ${0##*/} ssh-qube /remote/dir/backups 'ssh user@server' +note: when using a remote login command (ssh), DIR is the remote directory +note: the directory specified must be the parent of the saved backups" exit 1 } @@ -19,9 +29,17 @@ if test -z "${2-}"; then usage fi -qube="$1" -path="$2" +qube="${1}" +path="${2}" cmd="${3-}" -# shellcheck disable=SC2086 -qvm-run -p "$qube" $cmd find "$path" -maxdepth 1 -type f -name "qubes-backup-*" 2>/dev/null | tail -1 +find_pattern="qubes-backup-*" +find_cmd="find \"${path}\" -maxdepth 1 -type f -name \"${find_pattern}\"" +qrun_cmd="qvm-run --filter-escape-chars --no-color-output --no-color-stderr --pass-io" + +last_backup="$(list_last_backup)" +if test -z "${last_backup}"; then + exit 1 +fi + +echo "${last_backup}"