{ "meta": { "title": "Attività pianificate — timer, modalità di collegamento, conservazione | ProxMenux", "description": "Attività pianificate di backup dell’host ProxMenux. Due modalità di creazione (timer systemd dedicato o collegamento a un’attività vzdump PVE esistente), regole di conservazione applicate per attività tramite proxmox-backup-client, Borg o pulizia locale, file in /var/lib/proxmenux/backup-jobs e script di esecuzione che produce gli stessi archivi del flusso interattivo.", "ogTitle": "ProxMenux Backup — lavori programmati", "ogDescription": "Backup host programmati non presidiati con modalità di aggancio, ritenzione e le stesse tre destinazioni del flusso interattivo.", "twitterTitle": "Lavori programmati | ProxMenux", "twitterDescription": "Attività pianificate di backup dell’host senza intervento, con modalità di collegamento e conservazione." }, "header": { "title": "Lavori programmati", "description": "Lavori di backup incustoditi. Due modelli di creazione: un nuovo lavoro indipendente con il proprio programma, o un lavoro collegato ad un'attività PVE vzdump esistente che eredita il programma e la ritenzione di tale attività. Entrambi producono archivi identici al flusso interattivo.", "section": "Backup e ripristino" }, "intro": { "title": "I due modelli di lavoro programmati", "body": "Un lavoro programmato può essere creato seguendo uno dei due modelli:", "modelsList": [ "Nuovo lavoro indipendente — ProxMenux definisce il programma di lavoro stesso con il proprio timer systemd, indipendente da qualsiasi altra attività sull'host. Compatibile con tutte e tre le destinazioni: Locale, PBS e Borg.", "Collega a un’attività vzdump PVE esistente — l’attività non ha una pianificazione propria; viene eseguita automaticamente quando si attiva l’attività vzdump PVE principale che già esegue il backup di VM e LXC sull’host. Ne eredita pianificazione e conservazione. Compatibile con Locale e PBS (Borg non è supportato perché PVE non ha un pianificatore nativo per Borg)." ] }, "attachBadge": { "title": "Modalità di aggancio — consigliato quando esiste già un compito PVE vzdump", "body": "Se esiste già un’attività vzdump PVE per VM e LXC del nodo, collegare il backup dell’host lo fa eseguire dopo il backup dei guest, nello stesso ciclo di backup. Nel ripristino, le configurazioni dei guest provengono dal backup dell’host (in /etc/pve) e i dischi dai backup vzdump dello stesso ciclo. Questo aiuta a coordinare il recupero dell’intero nodo, ma non è uno snapshot atomico: modifiche durante il ciclo possono lasciare differenze tra configurazione dell’host e stato dei dischi dei guest." }, "frequencyBadge": { "title": "Frequenza raccomandata", "body": "Per massimizzare la compatibilità tra backup dell’host e ripristino futuro, esegui backup frequenti. Più la copia è vicina allo stato attuale dell’host, meno differenze di configurazione, pacchetti e componenti dovrà riconciliare il ripristino." }, "modes": { "heading": "Le due modalità", "rows": [ { "mode": "Nuova attività pianificata", "backends": "Locale, PBS, Borg", "schedule": "Espressione OnCalendar propria (sintassi del calendario systemd, ad esempio daily o Mon..Fri 03:00).", "retention": "Richiesti separatamente: keep-last, keep-hourly, keep-daily, keep-weekly, keep-monthly, keep-yearly. Applicato dallo script di esecuzione dopo ogni backup di successo." }, { "mode": "Attaccare a un lavoro PVE vzdump", "backends": "Locale, PBS (Borg non ha pianificatore lato PVE)", "schedule": "Ereditata dall’attività PVE principale. Non viene installato alcun timer systemd sul lato ProxMenux.", "retention": "Ereditata dalla configurazione prune-backups dell’attività principale (mappata uno a uno alle variabili KEEP_* dello script di esecuzione tramite hb_pve_prune_to_keep_env)." } ] }, "attachDetail": { "heading": "Come funziona la modalità di collegamento", "intro": "PVE scrive le attività vzdump in /etc/pve/jobs.cfg, con una sezione per attività che indica lo storage dei backup VM e LXC. La modalità di collegamento richiede un backend supportato da ProxMenux (Locale o PBS). Il backup dell’host parte dall’hook job-end dopo il completamento dell’attività di backup dei guest.", "steps": [ { "step": "1", "detail": "Durante la creazione dell’attività, ProxMenux elenca le attività PVE genitoriali compatibili tramite hb_pve_list_vzdump_jobs_for_backend. L'utente ne sceglie uno." }, { "step": "2", "detail": "Il file .env dell’attività è scritto con PVE_PARENT_JOB, PVE_STORAGE e i valori ereditati KEEP_*; non viene creato alcun timer systemd." }, { "step": "3", "detail": "hb_install_vzdump_hook registra un hook in /etc/vzdump.conf. Nella fase job-end di qualsiasi attività vzdump confronta il $STOREID ricevuto con il PVE_STORAGE di ogni attività collegata e abilitata, avviando lo script di esecuzione per quelle corrispondenti. Il confronto usa lo storage, non l’ID dell’attività principale selezionata." }, { "step": "4", "detail": "L’archivio viene salvato nello stesso storage dei backup vzdump: path/dump/ per Locale oppure il repository PBS configurato nella voce di storage PVE." } ], "outroBody": "La modalità di collegamento non ha un timer proprio. Disabilitare o eliminare l’attività PVE principale selezionata ferma quel trigger, ma un’altra attività vzdump sullo stesso storage può ancora avviare il backup dell’host. Per impedirlo, disabilita o elimina l’attività ProxMenux stessa. Se disabilitata, la voce resta su disco e può essere riabilitata o ricollegata." }, "storageLayout": { "heading": "File che compongono un lavoro", "intro": "Ogni lavoro programmato è completamente descritto da tre o quattro file sul disco. Leggerli dà la configurazione completa del lavoro senza fare affidamento sull'interfaccia.", "rows": [ { "path": "/var/lib/proxmenux/backup-jobs/JOB_ID.env", "content": "Backend, ID di backup o destinazione, pianificazione (Nuova modalità) o genitore PVE (Modalità allegato), abilitato flag, ritenzione valori KEEP_*, puntatori di credenziali." }, { "path": "/var/lib/proxmenux/backup-jobs/JOB_ID.paths", "content": "Un percorso assoluto per riga: la selezione ricavata dal profilo e fissata alla creazione dell’attività. Modificare il file fa usare la nuova selezione alla successiva attivazione del timer." }, { "path": "/etc/systemd/system/proxmenux-backup-JOB_ID.timer + .service", "content": "Solo modalità nuova attività. Il servizio invoca run_scheduled_backup.sh JOB_ID. Il timer lo programma con Persistent=true (esecuzioni saltate recuperate al prossimo avvio) e un piccolo RandomizedDelaySec=120 per diffondere il carico quando più attività condividono la stessa espressione OnCalendar." }, { "path": "/etc/vzdump.conf script-hook", "content": "Solo modalità di collegamento. Installato una volta da hb_install_vzdump_hook; confronta PVE_STORAGE di ogni attività collegata con $STOREID, passato da PVE allo script hook." } ] }, "runner": { "heading": "Cosa fa un’attività quando si avvia", "intro": "Ogni lavoro — se nuovo modello o allegato — esegue la stessa sequenza a tre fasi:", "steps": [ "Prepara il backup. Legge la configurazione del lavoro (destinazione, profilo, percorsi) e assembla l'albero dell'archivio esattamente come fa il flusso interattivo. Il risultato è lo stesso archivio un backup manuale con quelle impostazioni produrrebbe.", "Scrivi nella destinazione. Carica o scrive l'archivio alla destinazione configurata — un file .tar.zst locale, un backup PBS o un archivio Borg — utilizzando esattamente gli stessi strumenti e le credenziali che un backup manuale alla stessa destinazione avrebbe utilizzato.", "Applica la conservazione. Rimuove i vecchi backup dalla destinazione, mantenendo i conti keep-last / keep-daily / keep-weekly configurati sul lavoro. La potatura viene eseguita dalla destinazione stessa: PBS applica la propria ritenzione, Borg esegue borg prune, e per Local ProxMenux elimina i file che cadono fuori dalla finestra keep-last." ] }, "management": { "heading": "Gestione dei lavori", "intro": "Il menu scheduler (Script TUI) e la scheda Monitor Backups espongono le stesse azioni su qualsiasi lavoro.", "rows": [ { "action": "Esegui ora", "detail": "Richiama subito lo script di esecuzione, senza attendere il timer o l’hook vzdump. Utile per verificare la configurazione senza aspettare la prossima esecuzione pianificata." }, { "action": "Attivare / disattivare", "detail": "Nuova modalità: systemctl enable/disable --now il timer. Modalità di aggancio: cambia il flag ENABLED nel job env — lo script gancio lo onora alla prossima esecuzione PVE." }, { "action": "Modifica", "detail": "Riapre le richieste di destinazione, pianificazione, profilo e ritenzione e riscrive i file di lavoro. Conserva l'ID del lavoro." }, { "action": "Elimina", "detail": "Rimuove il job env, il file dei percorsi, il timer + servizio systemd (Nuova modalità), e disabilita il binding del gancio (Modalità allegato). Non tocca archivi già sulla destinazione." }, { "action": "Visualizza log", "detail": "Mostra in tempo reale /var/log/proxmenux/backup-jobs/JOB_ID-YYYYMMDD_HHMMSS.log: un file di registro per esecuzione. Lo script di esecuzione emette anche una riga di stato compatta a journald sotto il servizio systemd." } ] }, "notifications": { "heading": "Notifiche", "body": "Ogni esecuzione programmata genera gli stessi eventi hb_notify_lifecycle del flusso interattivo (start, complete, fail). Se i canali di notifica sono configurati nel Monitor, i lavori incustoditi mostrano i risultati come fanno i backup manuali — un utente non ha bisogno di controllare il registro per sapere se un lavoro è riuscito." }, "whereNext": { "heading": "Dove andare dopo", "items": [ { "label": "Creazione di backup", "href": "/docs/backup-restore/creating-backups", "tail": "— il flusso interattivo che condivide il backend con il pianificatore." }, { "label": "Destinazioni", "href": "/docs/backup-restore/destinations", "tail": "— configurazione per-backend utilizzata sia dal flusso interattivo che dal pianificatore." }, { "label": "Ripristino", "href": "/docs/backup-restore/restoring", "tail": " — il flusso che utilizza i backup prodotti dalle attività." } ] } }