{% extends "ui/_layout.html" %} {% block title %}Backups - bty-web{% endblock %} {% block subnav %} {% endblock %} {% block intro %} {% from "ui/_intro_box.html" import render as intro_box %} {% call intro_box() %} Metadata-only bundles of the per-machine hardware identity (MAC + lshw + known_disks) -- the same shape bty-web export produces. Image bytes live in BTY_IMAGE_ROOT and are NOT included; they're either still on disk or re-fetchable from the catalog. Trigger one now with the button below, or enable a scheduled cadence on the Settings page. Backups land under {{ backups_root }}; retention prunes the oldest. {% endcall %} {% endblock %} {% block content %}
Backups refreshing...
Schedule: {% if backup_enabled %}{{ backup_cadence }}{% else %}off{% endif %} (change) Retention: keep last {{ backup_retention }} (prunes oldest on every successful backup) Last scheduled run: {% if backup_last_run_at %}{{ backup_last_run_at }}{% else %}never{% endif %} Destination: {{ backups_root }}
Backup ID Status Trigger Bytes Action
No active backups.
Backups on disk {{ backups_on_disk|length }} bundle{{ '' if backups_on_disk|length == 1 else 's' }} under {{ backups_root }}
{% if not backups_on_disk %} {% else %} {% for b in backups_on_disk %} {% endfor %} {% endif %}
Backup ID Machines Catalog entries Images Size bty version Actions
No backups on disk yet. Click Back up now above, or enable a schedule on the Settings page.
{{ b.backup_id }} {{ b.machines }} {{ b.catalog_entries }} {{ b.images }} {% set n = b.bytes_on_disk %} {% if n < 1024 %}{{ n }} B {%- elif n < 1024 * 1024 %}{{ '%.1f'|format(n / 1024) }} KiB {%- elif n < 1024 * 1024 * 1024 %}{{ '%.1f'|format(n / (1024 * 1024)) }} MiB {%- elif n < 1024 * 1024 * 1024 * 1024 %}{{ '%.1f'|format(n / (1024 * 1024 * 1024)) }} GiB {%- else %}{{ '%.1f'|format(n / (1024 * 1024 * 1024 * 1024)) }} TiB{% endif %} {{ b.bty_version or '(unreadable)' }}
{% with events=backup_events, title="Recent activity", link_to_full="/ui/events?subject_kind=backup", card_id="backups-activity" %} {% include "ui/_events_card.html" %} {% endwith %} {% endblock %}