Files
ProxMenux/scripts/menus/pbs_menu.sh
T

47 lines
1.8 KiB
Bash

#!/bin/bash
# PBS exposes compatible host tools; PVE guest/repository optimizations stay in the PVE menu.
BASE_DIR="/usr/local/share/proxmenux"
LOCAL_SCRIPTS="$BASE_DIR/scripts"
source "$BASE_DIR/utils.sh"
source "$LOCAL_SCRIPTS/global/platform-functions.sh"
load_language
initialize_cache
if ! pmx_is_pbs; then
msg_error "$(translate 'This menu requires Proxmox Backup Server.')"
exit 1
fi
pbs_show() {
local output
output=$(mktemp)
if "$@" > "$output" 2>&1; then
dialog --backtitle "ProxMenux · PBS" --title "Proxmox Backup Server" --textbox "$output" 24 100
else
dialog --backtitle "ProxMenux · PBS" --title "$(translate 'Command failed')" --textbox "$output" 24 100
fi
rm -f "$output"
}
while true; do
choice=$(dialog --clear --backtitle "ProxMenux · PBS" --title "Proxmox Backup Server" \
--menu "$(translate 'Select an option:')" 20 80 10 \
status "$(translate 'PBS version and packages')" \
stores "$(translate 'PBS datastores')" \
tasks "$(translate 'Recent PBS tasks')" \
utilities "$(translate 'System Utilities Installer')" \
update "$(translate 'Update PBS using configured repositories')" \
settings "$(translate 'Settings')" \
exit "$(translate 'Exit')" 2>&1 >/dev/tty) || break
case "$choice" in
status) pbs_show proxmox-backup-manager versions --verbose --output-format json-pretty ;;
stores) pbs_show proxmox-backup-manager datastore list --output-format json-pretty ;;
tasks) pbs_show proxmox-backup-manager task list --all true --limit 20 --output-format json-pretty ;;
utilities) bash "$LOCAL_SCRIPTS/utilities/system_utils.sh" ;;
update) bash "$LOCAL_SCRIPTS/utilities/pbs_update.sh" ;;
settings) bash "$LOCAL_SCRIPTS/menus/config_menu.sh" ;;
exit) break ;;
esac
done
clear