{% extends "base.html" %} {% block content %}

Client {{ client.id }} – {{ client.name }}

Owner: {{ client.owner.username }} | Token: {{ client.token }}

Last ping: {{ client.last_ping if client.last_ping else '-' }}
Last backup: {{ client.last_backup if client.last_backup else '-' }}

Pre‑Backup Commands

Backups

{% if backups %}
{% for b in backups %} {% endfor %}
ID Path Version Time Size (bytes) Hash Download
{{ b.id }} {{ b.original_path }} {{ b.version_time }} {{ b.size }} {{ b.file_hash.hash_value }} Download
{% else %}

No backups yet.

{% endif %}

File Structure

{% if files %}
{% else %}

No file structure available. The client will send its file list on the next backup cycle.

{% endif %}

Backup Tasks

{% if tasks %}
{% for t in tasks %} {% endfor %}
Path Frequency (min) Retention Compress Last Run Next Run Actions
{{ t.path }} {{ t.frequency_minutes }} {% if t.retention_versions %}{{ t.retention_versions }} versions{% endif %} {% if t.retention_days %} {% if t.retention_versions %}
{% endif %} {{ t.retention_days }} days {% endif %} {% if not t.retention_versions and not t.retention_days %}-{% endif %}
{% if t.compress %}Yes{% else %}No{% endif %} {{ t.last_run if t.last_run else '-' }} {{ t.next_run if t.next_run else '-' }}
{% else %}

No backup tasks configured.

{% endif %} {% if tasks %}

Task History

{% for t in tasks %}

Path: {{ t.path }}

Runs
{% set runs = runs_map.get(t.id) %} {% if runs and runs|length > 0 %}
{% for run in runs %} {% endfor %}
Start End Status Message
{{ run.start_time }} {{ run.end_time if run.end_time else '-' }} {{ run.status }} {{ run.message or '-' }}
{% else %}

No runs recorded for this task.

{% endif %}
Backups
{% set bks = backups_map.get(t.path) %} {% if bks and bks|length > 0 %}
{% for b in bks %} {% endfor %}
ID Version Time Size Download
{{ b.id }} {{ b.version_time }} {{ b.size }} Download
{% else %}

No backups available for this path.

{% endif %}
{% endfor %}
{% endif %}

Create New Task

{% for f in files %} {% if not f.is_dir %}{% endif %} {% endfor %}

Recent Logs

{% if logs %}
{% for log in logs %} {% endfor %}
Time Level Message
{{ log.timestamp }} {{ log.level }} {{ log.message }}
{% else %}

No logs.

{% endif %}

← Back to list

{% endblock %}