{
"meta": {
"title": "Criação de backups — fluxo de backup interativo ProxMenux",
"description": "O fluxo de backup interativo do ProxMenux: dois pontos de entrada (o menu TUI do Scripts e a interface web do Monitor), três destinos, dois modos de perfil, uma etapa de preparação temporária e uma janela de confirmação. A página descreve a matriz de seis opções, os perfis padrão e personalizado e o que o usuário vê desde a seleção do backup até o arquivo ser salvo no destino.",
"ogTitle": "Backup ProxMenux — criando backups",
"ogDescription": "O fluxo de backup interativo com três destinos, dois perfis e uma etapa comum de preparação temporária.",
"twitterTitle": "Criando backups ProxMenux",
"twitterDescription": "Fluxo de backup interativo com três destinos e dois modos de perfil."
},
"header": {
"title": "Criando backups",
"description": "O fluxo de backup interativo: escolha um destino e um perfil, confira o resumo de confirmação e acompanhe o salvamento do arquivo. Os dois pontos de entrada compartilham o mesmo backend e produzem arquivos idênticos.",
"section": "Cópias de segurança e restauro"
},
"intro": {
"title": "Dois pontos de entrada, funcionalidade idêntica",
"body": "A TUI do Scripts e a interface web do Monitor oferecem exatamente as mesmas funções. Cada backup — manual ou agendado — passa pela mesma matriz de escolha (três destinos × dois perfis) e chama a mesma função do backend em cada célula (_bk_pbs, _bk_borg ou _bk_local). Os arquivos produzidos pelos dois pontos de entrada são indistinguíveis. A escolha depende da preferência: a TUI é adequada para SSH e scripts; o Monitor oferece controle por cliques junto às visualizações de notificações e acompanhamento dos logs."
},
"entryPoints": {
"heading": "Os dois pontos de entrada",
"rows": [
{
"entry": "ProxMenux Scripts (TUI)",
"path": "menu → Utilities → Host Config Backup",
"detail": "Fluxo baseado em diálogo, SSH-friendly. O menu principal apresenta as seis opções diretamente. Utiliza backup_menu em backup_host.sh."
},
{
"entry": "ProxMenux Monitor (UI Web)",
"path": "Backups tab → Create backup",
"detail": "Fluxo guiado por um assistente. As mesmas seis opções são apresentadas em um formulário de duas etapas (destino → perfil). As mesmas funções do backend são chamadas pela API Flask."
}
]
},
"modes": {
"heading": "Cópias de segurança manuais vs agendadas",
"body": "Os backups podem ser produzidos em dois modos: manual (o fluxo interativo descrito nesta página — o usuário escolhe um destino e um perfil de um menu e acompanha o salvamento do arquivo) ou agendado (um trabalho sem acompanhamento que roda em um temporizador no estilo cron e aplica a retenção configurada no trabalho). Ambos os modos suportam os mesmos três destinos e os mesmos dois perfis, e ambos estão disponíveis em ambos os pontos de entrada — o menu Scripts TUI e a aba Monitor Backups. Trabalhos agendados usam as mesmas funções de infraestrutura que o fluxo manual através do run_scheduled_backup.sh; os arquivos produzidos são indistinguíveis.",
"seeAlso": "A página de trabalhos agendados cobre o fluxo completo, incluindo como criar um trabalho, anexá-lo a um temporizador existente PVE vzdump e configurar os valores de retenção.",
"monitorAlt": "Página de backups do ProxMenux Monitor que mostra a nova janela de backup agendada com os campos de destino, perfil, agenda e retenção.",
"monitorCaption": "Backup agendado — ProxMenux Monitor. A mesma janela do assistente usada para criar um backup manual inclui, na parte inferior, os campos de agendamento e retenção para execução sem acompanhamento."
},
"matrix": {
"heading": "A matriz de seis opções",
"intro": "A escolha determina tanto o backend executado quanto a estratégia de seleção de caminhos. Consulte as páginas de cada destino para os detalhes de configuração de cada célula.",
"rows": [
{
"combo": "1",
"destination": "PBS",
"profile": "Padrão",
"action": "Envia o perfil padrão mais extras persistentes para um repositório PBS configurado."
},
{
"combo": "2",
"destination": "Borg",
"profile": "Padrão",
"action": "Cria um arquivo com o perfil padrão mais extras persistentes no repositório Borg selecionado."
},
{
"combo": "3",
"destination": "Local",
"profile": "Padrão",
"action": "Escreve um arquivo .tar.zst com o perfil padrão mais extras persistentes para o alvo local configurado."
},
{
"combo": "4",
"destination": "PBS",
"profile": "Personalizado",
"action": "Abre o seletor de caminhos antes do envio ao PBS; o usuário marca os caminhos e pode adicionar novos."
},
{
"combo": "5",
"destination": "Borg",
"profile": "Personalizado",
"action": "Abre o seletor de caminhos antes de criar o arquivo Borg."
},
{
"combo": "6",
"destination": "Local",
"profile": "Personalizado",
"action": "Abre o selecionador de caminho antes de escrever o .tar.zst local."
}
]
},
"profiles": {
"heading": "Perfil padrão vs personalizado",
"defaultTitle": "Perfil padrão",
"defaultBody": "O perfil padrão é a lista com curadoria de hb_default_profile_paths (documentada em Como funciona sob Categorias de caminho) além de cada entrada no arquivo de extras persistente /usr/local/share/proxmenux/backup-extra-paths.txt. O usuário confirma as opções de destino e criptografia e o backup prossegue sem mais seleção de caminho.",
"customTitle": "Perfil personalizado",
"customBody": "O perfil personalizado abre uma lista com todos os caminhos do perfil padrão (desmarcados) e todos os extras persistentes (pré-marcados, com o prefixo [+]). O usuário marca os caminhos para esta execução e pode pressionar Adicionar caminho personalizado para incluir um novo caminho absoluto. Todo caminho adicionado durante esse processo é salvo em backup-extra-paths.txt, para que os próximos backups o incluam automaticamente. Desmarcar um extra persistente o exclui apenas desta execução, sem removê-lo do arquivo — a remoção é feita pela ação separada Gerenciar caminhos personalizados, fora do fluxo de backup.",
"customPickerAlt": "Lista de verificação de perfil personalizada que mostra os caminhos de perfil padrão (desmarcados) e extras persistentes (pré-marcados com um prefixo [+]), além de botões para adicionar um novo caminho ou confirmar a seleção.",
"customPickerCaption": "Perfil personalizado — o seletor de caminhos. Os caminhos do perfil padrão estão desmarcados; os extras persistentes aparecem pré-marcados com o prefixo [+]. O usuário marca os caminhos para esta execução.",
"manageCustomAlt": "Menu de gerenciamento de caminhos personalizados com a lista de extras persistentes e opções para adicionar, remover ou editar.",
"manageCustomCaption": "Gerencie caminhos personalizados — o ponto de entrada onde extras persistentes são adicionados ou removidos. Cada caminho listado aqui é incluído automaticamente em backups de modo padrão sem precisar abrir o seletor Personalizado."
},
"commonPipeline": {
"heading": "O que é executado independentemente do destino",
"intro": "Depois de definir o perfil, cada backend executa o mesmo processo de preparação temporária antes de seguir para seu próprio método de envio. hb_prepare_staging monta a árvore do arquivo em /tmp/proxmenux-DESTINATION-stage.XXXXXX e preenche cada um dos três blocos de dados.",
"steps": [
{
"step": "1",
"name": "Montagem do rootfs",
"detail": "Executa rsync -a para cada caminho selecionado em staging_root/rootfs/. O banco de dados pmxcfs em /var/lib/pve-cluster/config.db é capturado separadamente via sqlite3 .backup para produzir um instantâneo consistente sem parar o cluster, e os sidecars .db-wal / .db-shm são excluídos do rsync; quando o sqlite3 não está disponível é salvo um arquivo config.db.raw-fallback, que a restauração adota como banco de dados durante a importação. Os subcaminhos voláteis (histórico do bash, caches, lixo) são excluídos do /root/. Caminhos ausentes da fonte são registrados em metadata/missing_paths.txt sem parar o backup."
},
{
"step": "2",
"name": "Geração do manifesto",
"detail": "build_manifest.sh coordena os seis coletores e grava manifest.json na raiz da área de preparação temporária. Se um coletor falhar, a seção afetada usa um valor padrão vazio documentado; o manifesto continua válido."
},
{
"step": "3",
"name": "Inventário de pacotes",
"detail": "apt-mark showmanual é capturada literalmente em metadata/packages.manual.list. O estado do componente já está dentro do rootfs restaurado (components_status.json) porque o /usr/local/share/proxmenux/ faz parte do perfil padrão."
},
{
"step": "4",
"name": "Informações da execução",
"detail": "metadata/run_info.env registra a identidade de execução de backup — hostname, timestamp, versão do kernel — usada pela verificação de compatibilidade da restauração para determinar a direção do cross-kernel."
},
{
"step": "5",
"name": "Notificação (início)",
"detail": "hb_notify_lifecycle \"start\" é acionado. Se as notificações estiverem configuradas no Monitor, é enviado ao utilizador um evento Backup do host iniciado. Nada é enviado se não houver canais configurados."
}
]
},
"included": {
"heading": "O que entra e o que fica fora",
"intro": "Cada caminho no perfil resolvido (padrão + extras persistentes + seleção de modo personalizado) é copiado com rsync -aAXH --numeric-ids. Uma lista de exclusão compartilhada aplica-se a cada caminho, e dois diretórios carregam exclusões adicionais específicas do caminho.",
"globalTitle": "Exclusões globais (aplicadas a cada caminho)",
"globalItems": [
"images/ — dumps de imagens.",
"dump/ — saídas vzdump.",
"tmp/ — ficheiros temporários.",
"*.log — ficheiros de registo."
],
"rootTitle": "Exclusões /root/",
"rootBody": "/root/ faz parte do perfil padrão para incluir os scripts e a configuração do usuário no arquivo. Os subcaminhos voláteis são excluídos:",
"rootItems": [
".bash_history",
".cache/",
"tmp/",
".local/share/Trash/"
],
"proxmenuxTitle": "Exclusões /usr/local/share/proxmenux/",
"proxmenuxBody": "Este diretório envia apenas o estado do usuário — components_status.json, preferências, cache pós-instalação. O código que o destino já terá a partir de sua própria instalação ProxMenux está excluído para que uma restauração não sobrescreva os binários atuais do alvo com os mais antigos:",
"proxmenuxItems": [
"restore-pending/, scripts/, web/",
"monitor-app/, monitor-app.*/, AppImage/",
"images/, json/",
"utils.sh, helpers_cache.json",
"ProxMenux-Monitor.AppImage*, install_proxmenux*.sh"
],
"notInProfileTitle": "Caminhos fora do perfil",
"notInProfileBody": "Qualquer coisa não listada no hb_default_profile_paths e não adicionada como um extra personalizado ou persistente não faz parte do backup. Exemplos notáveis:",
"notInProfileItems": [
"Discos de VMs e LXC — manipulado por vzdump, não por esta característica. Os arquivos de configuração de hóspedes sob /etc/pve/nodes/*/qemu-server/*.conf e lxc/*.conf são capturados (eles vivem sob /etc/pve) para que a restauração reproduza o inventário; os próprios discos são re-anexados a partir de um backup existente vzdump/PBS.",
"/boot e /boot/efi — binários do kernel, initramfs e a partição UEFI ESP são regeneradas pelo próprio alvo update-initramfs, update-grub ou proxmox-boot-tool refresh após a restauração. O carregador de arranque nunca é copiado na íntegra.",
"Sistemas de arquivos de tempo de execução e sistema — /proc, /sys, /dev e /run são pseudo-sistemas de arquivos produzidos pelo kernel e udev; eles não são persistidos em nenhum lugar.",
"Binários dos pacotes em /usr/bin, /usr/lib, /lib, /sbin — reinstalados pelo APT do destino a partir de packages.manual.list.",
"/var/log/, /var/tmp/, /var/cache/ — estado de execução por host, não restaurado.",
"/home/USER — não no perfil padrão. Adicione-o como um caminho personalizado quando um sistema carrega diretórios domésticos do usuário que devem sobreviver a uma restauração."
],
"customPathsTitle": "Como os caminhos personalizados são tratados",
"customPathsBody": "Um caminho personalizado adicionado inline em modo Personalizado ou persistido em backup-extra-paths.txt passa pelo mesmo pipeline rsync como caminhos de perfil padrão. Exclusões globais aplicam-se. Se o caminho personalizado estiver sob /root/ ou /usr/local/share/proxmenux/, as exclusões específicas do caminho acima ainda se aplicam. Cada caminho arquivado — padrão ou personalizado — é gravado em metadata/paths_archived.txt. Caminhos que não existem na fonte são gravados em metadata/missing_paths.txt sem parar o backup."
},
"archiveStructure": {
"heading": "Estrutura do arquivo",
"intro": "O diretório de preparação temporária produzido por cada infraestrutura segue o mesmo layout, independentemente do destino. O tarball, PBS .pxar ou arquivo Borg armazena esta árvore sem alterações.",
"tree": "backup-[timestamp]/\n├── manifest.json # structured host state (kernel_params, hardware, storage, guests, components, source_host)\n├── metadata/\n│ ├── packages.manual.list # output of apt-mark showmanual\n│ ├── run_info.env # hostname, timestamp, kernel version, pmxcfs method\n│ ├── paths_archived.txt # exact list of paths that reached rootfs/\n│ └── missing_paths.txt # paths from the profile absent on source\n└── rootfs/\n ├── etc/ # /etc/pve, /etc/network, /etc/systemd/network, /etc/ssh, /etc/apt, ...\n ├── root/ # /root without volatile subpaths\n ├── usr/local/ # /usr/local/bin, /usr/local/sbin, /usr/local/share/proxmenux (state only)\n └── var/ # /var/lib/pve-cluster (config.db via sqlite3 .backup), /var/spool/cron/crontabs"
},
"confirmation": {
"heading": "Resumo da confirmação",
"body": "Antes da infra- estrutura escrever qualquer coisa para o destino, o ProxMenux mostra uma janela sumária com o nome do destino, ID de backup ou arquivo, estado de criptografia e a lista de caminhos copiados. Cancelar aqui aborta o backup de forma limpa — o diretório de preparação temporária é removido pelo gancho trap definido na função de infraestrutura e nenhum dado parcial atinge o destino."
},
"writing": {
"heading": "Gravando para o destino",
"intro": "Após a confirmação, cada backend executa sua própria etapa de gravação. As páginas dos destinos descrevem o funcionamento; os elementos comuns são o log, o arquivo auxiliar e a notificação de conclusão.",
"rows": [
{
"topic": "Arquivo de registro",
"detail": "Cada infra- estrutura escreve sua saída completa para /tmp/proxmenux-DESTINATION-backup-YYYYMMDD_HHMMSS.log e, em caso de falha, oferece abri-la em uma janela de rolagem. O caminho do log é impresso no resumo de conclusão somente quando o arquivo tem conteúdo."
},
{
"topic": "Sidecar (apenas local)",
"detail": "hb_write_archive_sidecar solta um *.proxmenux.json ao lado do arquivo local para que o monitor o identifique como um backup de host ProxMenux mesmo depois de mover ou renomear."
},
{
"topic": "Notificação (conclusão/falha)",
"detail": "hb_notify_lifecycle \"complete\" ou \"fail\" é acionado com a duração, o tamanho do arquivo e — em caso de falha — a última linha do log que parece indicar um erro."
}
]
},
"finishedScreens": {
"heading": "Como é uma cópia de segurança terminada",
"intro": "O mesmo evento de conclusão é exibido pelos dois pontos de entrada. O TUI escreve um bloco de resumo para o terminal; a aba Backups do Monitor mostra a execução na lista de arquivos com o tamanho, a duração e os crachás de status.",
"scriptsAlt": "ProxMenux Scripts TUI mostrando um backup final do host — destino, ID de backup, caminho de instantâneo, tamanho de dados, duração e estado de criptografia.",
"scriptsCaption": "Cópia de segurança terminada — ProxMenux Scripts (TUI). O bloco de conclusão imprime o destino, backup ID, instantâneo resultante ou nome do arquivo, tamanho dos dados, duração e estado de criptografia.",
"monitorAlt": "Página de backups ProxMenux Monitor mostrando uma entrada de backup de host terminada com tamanho, duração, crachá de método e indicador de criptografia.",
"monitorCaption": "Backup concluído — aba Backups do ProxMenux Monitor. O novo backup aparece na lista de arquivos com o indicador do método de destino, tamanho, duração e — quando aplicável — o ícone de cadeado da criptografia."
},
"whereNext": {
"heading": "Para onde ir a seguir",
"items": [
{
"label": "Destinos",
"href": "/docs/backup-restore/destinations",
"tail": " — detalhes de configuração para Local, PBS e Borg."
},
{
"label": "Trabalhos agendados",
"href": "/docs/backup-restore/scheduled-jobs",
"tail": " — executar o mesmo backup sem acompanhamento em um cronograma em vez de interativamente."
},
{
"label": "Restauração",
"href": "/docs/backup-restore/restoring",
"tail": " — o fluxo que consome o que esta página produz."
}
]
}
}