{ "meta": { "title": "Trabalhos agendados — temporizadores, modo de anexação, retenção ProxMenux", "description": "Trabalhos de backup programados do host ProxMenux. Dois modos de criação (horário systemd próprio ou anexar a um trabalho existente PVE vzdump), valores de retenção aplicados por trabalho via proxmox-backup-client/borg/local prune, layout de armazenamento sob /var/lib/proxmenux/backup-jobs, e o script de execução que produz arquivos idênticos ao fluxo interativo.", "ogTitle": "Cópia de segurança ProxMenux — tarefas agendadas", "ogDescription": "Backups de host agendados não vigiados com modo de anexação, retenção e os mesmos três destinos do fluxo interativo.", "twitterTitle": "Trabalhos agendados | ProxMenux", "twitterDescription": "Trabalhos de backup agendados sem acompanhamento com modo de anexação e retenção." }, "header": { "title": "Trabalhos agendados", "description": "Trabalhos de backup da máquina não vigiados. Dois modelos de criação: um novo trabalho independente com sua própria programação, ou um trabalho anexado a uma tarefa existente PVE vzdump que herda o cronograma e retenção dessa tarefa. Ambos produzem arquivos idênticos ao fluxo interativo.", "section": "Cópias de segurança e restauro" }, "intro": { "title": "Os dois modelos de trabalho programados", "body": "Um trabalho programado pode ser criado seguindo um dos dois modelos:", "modelsList": [ "Novo trabalho independente — ProxMenux define o horário de trabalho com seu próprio temporizador systemd, independente de qualquer outra tarefa no host. Compatível com os três destinos: Local, PBS e Borg.", "Anexar a uma tarefa existente PVE vzdump — o trabalho não tem agendamento próprio; ele é executado automaticamente sempre que a tarefa pai PVE vzdump que já faz backup das VMs e LXCs nesta máquina dispara. Herda a programação e a retenção da tarefa dos pais. Compatível com Local e PBS (Borg não é suportado porque PVE não tem agendador nativo para Borg)." ] }, "attachBadge": { "title": "Modo de anexação — recomendado quando já existe uma tarefa PVE vzdump", "body": "Se já existe uma tarefa vzdump PVE para as VMs e LXCs do nó, anexar o backup do host faz com que ele seja executado depois do backup dos convidados, no mesmo ciclo de backup. Na restauração, as configurações dos convidados vêm do backup do host (em /etc/pve) e os discos vêm dos backups vzdump desse ciclo. Isso ajuda a coordenar a recuperação do nó inteiro, mas não é um snapshot atômico: alterações durante o ciclo podem deixar diferenças entre a configuração do host e o estado dos discos dos convidados." }, "frequencyBadge": { "title": "Frequência recomendada", "body": "Para maximizar a compatibilidade entre um backup do host e sua restauração futura, faça backups frequentes. Quanto mais próxima a cópia estiver do estado atual do host, menos diferenças de configuração, pacotes e componentes a restauração precisará conciliar." }, "modes": { "heading": "Os dois modos", "rows": [ { "mode": "Novo trabalho agendado", "backends": "Local, PBS, Borg", "schedule": "Expressão OnCalendar própria (sintaxe de calendário systemd, por exemplo daily ou Mon..Fri 03:00).", "retention": "Solicitado separadamente: keep-last, keep-hourly, keep-daily, keep-weekly, keep-monthly, keep-yearly. Aplicado pelo script de execução após cada backup bem sucedido." }, { "mode": "Anexar a uma tarefa PVE vzdump", "backends": "Local, PBS (Borg não tem agendador do lado PVE)", "schedule": "Herdado da tarefa PVE principal. Nenhum temporizador systemd é instalado no lado do ProxMenux.", "retention": "Herdada da configuração prune-backups da tarefa principal (mapeada um a um para as variáveis KEEP_* do script de execução via hb_pve_prune_to_keep_env)." } ] }, "attachDetail": { "heading": "Como funciona o modo de anexação", "intro": "O PVE grava as tarefas vzdump em /etc/pve/jobs.cfg, com uma seção por tarefa indicando o armazenamento dos backups de VM e LXC. O modo de anexação exige um backend suportado pelo ProxMenux (Local ou PBS). O backup do host é executado pelo hook job-end após o fim da tarefa de backup dos convidados.", "steps": [ { "step": "1", "detail": "Durante a criação do trabalho, ProxMenux lista tarefas PVE pai compatíveis via hb_pve_list_vzdump_jobs_for_backend. O utilizador escolhe uma." }, { "step": "2", "detail": "O .env do trabalho é escrito com PVE_PARENT_JOB, PVE_STORAGE e os valores herdados KEEP_*; nenhum temporizador systemd é criado." }, { "step": "3", "detail": "hb_install_vzdump_hook registra um hook em /etc/vzdump.conf. Na fase job-end de qualquer tarefa vzdump, compara o $STOREID recebido com o PVE_STORAGE de cada trabalho anexado e habilitado, chamando o script de execução para as correspondências. A associação é feita pelo armazenamento, não pelo ID da tarefa principal selecionada." }, { "step": "4", "detail": "O arquivo é salvo no mesmo armazenamento dos backups vzdump: path/dump/ para Local ou o repositório PBS configurado na entrada de armazenamento PVE." } ], "outroBody": "O modo de anexação não tem temporizador próprio. Desabilitar ou excluir a tarefa PVE principal selecionada interrompe esse disparo, mas outra tarefa vzdump usando o mesmo armazenamento ainda pode acionar o backup do host. Desabilite ou exclua o próprio trabalho ProxMenux para impedir isso. Ao ser desabilitada, a entrada permanece no disco e pode ser reativada ou anexada novamente." }, "storageLayout": { "heading": "Arquivos que compõem um trabalho", "intro": "Cada trabalho agendado é totalmente descrito por três ou quatro arquivos no disco. Lendo-os dá a configuração completa do trabalho sem depender da interface.", "rows": [ { "path": "/var/lib/proxmenux/backup-jobs/JOB_ID.env", "content": "Infraestrutura, ID de backup ou destino, agenda (novo modo) ou pai PVE (modo de Attach), sinalizador habilitado, valores de retenção KEEP_*, ponteiros de credenciais." }, { "path": "/var/lib/proxmenux/backup-jobs/JOB_ID.paths", "content": "Um caminho absoluto por linha — a seleção congelada resolvido a partir do perfil no tempo de criação de emprego. A edição do ficheiro volta a executar o trabalho com a nova selecção no próximo temporizador." }, { "path": "/etc/systemd/system/proxmenux-backup-JOB_ID.timer + .service", "content": "Apenas modo novo. O serviço invoca o run_scheduled_backup.sh JOB_ID. O timer agenda-o com Persistent=true (execuções perdidas recuperadas na próxima inicialização) e um pequeno RandomizedDelaySec=120 para espalhar carga quando vários trabalhos compartilham a mesma expressão OnCalendar." }, { "path": "/etc/vzdump.conf script-hook", "content": "Somente modo de anexação. Instalado uma vez por hb_install_vzdump_hook; compara PVE_STORAGE de cada trabalho anexado com $STOREID, passado pelo PVE ao hook." } ] }, "runner": { "heading": "O que um trabalho faz quando dispara", "intro": "Cada trabalho — novo ou anexado — executa a mesma sequência de três passos:", "steps": [ "Prepare o backup. Lê a configuração do trabalho (destino, perfil, caminhos) e monta a árvore de arquivos exatamente da mesma forma que o fluxo interativo faz. O resultado é o mesmo arquivo que um backup manual com essas configurações produziria.", "Escreva o destino. Envia ou escreve o arquivo para o destino configurado — um arquivo .tar.zst local, um backup PBS, ou um arquivo Borg — usando exatamente as mesmas ferramentas e credenciais que um backup manual para o mesmo destino usaria.", "Aplicar retenção. Remove backups antigos do destino, mantendo as contagens keep-last / keep-daily / keep-weekly configuradas no trabalho. A poda é realizada pelo próprio destino: PBS aplica sua própria retenção, Borg executa borg prune, e para ProxMenux Local apaga os arquivos que caem fora da janela keep-last." ] }, "management": { "heading": "Gestão de tarefas", "intro": "O menu de agendamento (Scripts TUI) e a aba Monitor Backups expõem as mesmas ações em qualquer trabalho.", "rows": [ { "action": "Executar agora", "detail": "Chama imediatamente o script de execução, sem esperar o temporizador ou o hook vzdump. Útil para verificar a configuração sem aguardar a próxima execução agendada." }, { "action": "Activar / Desactivar", "detail": "Novo modo: systemctl enable/disable --now o temporizador. Modo Anexar: altera o sinalizador ENABLED no env de trabalho — o script gancho honra-o na próxima execução PVE." }, { "action": "Editar", "detail": "Abre novamente o destino, agenda, perfil e avisos de retenção e reescreve os arquivos de trabalho. Preserva a identificação do trabalho." }, { "action": "Excluir", "detail": "Remove o env do trabalho, o arquivo de caminhos, o temporizador e o serviço systemd (modo novo) e desativa a associação ao hook (modo de anexação). Não altera os arquivos já existentes no destino." }, { "action": "Ver registo", "detail": "Mostra em tempo real /var/log/proxmenux/backup-jobs/JOB_ID-YYYYMMDD_HHMMSS.log — um arquivo de log por execução. O executor também emite uma linha de status compacta para journald no serviço systemd." } ] }, "notifications": { "heading": "Notificações", "body": "Cada execução agendada dispara os mesmos eventos hb_notify_lifecycle que o fluxo interativo (start, complete, fail). Se houver canais de notificação configurados no Monitor, as tarefas não vigiadas comunicam os seus resultados da mesma forma que os backups manuais: um utilizador não precisa de consultar o registo para saber se uma tarefa foi bem-sucedida." }, "whereNext": { "heading": "Para onde ir a seguir", "items": [ { "label": "Criando backups", "href": "/docs/backup-restore/creating-backups", "tail": " — o fluxo interactivo que partilha a infra-estrutura com o agendador." }, { "label": "Destinos", "href": "/docs/backup-restore/destinations", "tail": " — a configuração por infra-estrutura utilizada tanto pelo fluxo interactivo como pelo agendador." }, { "label": "Restauração", "href": "/docs/backup-restore/restoring", "tail": " — o fluxo que utiliza os backups produzidos pelos trabalhos." } ] } }