{ "meta": { "title": "Creazione di backup — flusso di backup interattivo | ProxMenux", "description": "Il flusso di backup interattivo di ProxMenux: due punti di accesso (il menu TUI di Scripts e l’interfaccia web di Monitor), tre destinazioni, due modalità di profilo, una fase di preparazione temporanea e una finestra di conferma. La pagina descrive la matrice con sei opzioni, i profili predefinito e personalizzato e ciò che vede l’utente dalla scelta del backup fino al salvataggio dell’archivio a destinazione.", "ogTitle": "ProxMenux Backup — creazione di backup", "ogDescription": "Il flusso di backup interattivo con tre destinazioni, due profili e una fase di staging comune.", "twitterTitle": "Creazione di backup | ProxMenux", "twitterDescription": "Flusso di backup interattivo con tre destinazioni e due modalità di profilo." }, "header": { "title": "Creazione di backup", "description": "Il flusso di backup interattivo: scegli una destinazione e un profilo, controlla il riepilogo di conferma e segui il salvataggio dell’archivio. I due punti di accesso condividono lo stesso backend e producono archivi identici.", "section": "Backup e ripristino" }, "intro": { "title": "Due punti di ingresso, funzionalità identiche", "body": "La TUI di Scripts e l’interfaccia web di Monitor offrono esattamente le stesse funzionalità. Ogni backup — manuale o pianificato — usa la stessa matrice di scelta (tre destinazioni × due profili) e richiama la stessa funzione backend per ogni cella (_bk_pbs, _bk_borg o _bk_local). Gli archivi prodotti dai due punti di accesso sono indistinguibili. La scelta dipende dalle preferenze: la TUI è adatta a SSH e agli script; Monitor offre il controllo con il mouse insieme alle viste delle notifiche e del monitoraggio dei log." }, "entryPoints": { "heading": "I due punti di ingresso", "rows": [ { "entry": "ProxMenux Scripts (TUI)", "path": "menu → Utilities → Host Config Backup", "detail": "Flusso basato sul dialogo, SSH-friendly. Il menu principale presenta le sei opzioni direttamente. Utilizza backup_menu in backup_host.sh." }, { "entry": "ProxMenux Monitor (interfaccia web)", "path": "Backups tab → Create backup", "detail": "Flusso guidato da una procedura assistita. Le stesse sei opzioni sono presentate in un modulo in due passaggi (destinazione → profilo). Le stesse funzioni backend vengono richiamate tramite l’API Flask." } ] }, "modes": { "heading": "Backup manuali e pianificati", "body": "I backup possono essere prodotti in due modi: manuale (il flusso interattivo descritto in questa pagina - l'utente sceglie una destinazione e un profilo da un menu e segue il salvataggio dell’archivio) o pianificato (un lavoro non assistito che funziona su un timer in stile cron e applica la ritenzione configurata sul lavoro). Entrambe le modalità supportano le stesse tre destinazioni e gli stessi due profili, ed entrambe sono disponibili da entrambi i punti di ingresso — il menu Script TUI e la scheda Monitor Backups. I lavori programmati utilizzano le stesse funzioni backend del flusso manuale attraverso run_scheduled_backup.sh; gli archivi prodotti sono indistinguibili.", "seeAlso": "La pagina dei lavori programmati copre il flusso completo, incluso come creare un lavoro, collegarlo a un timer PVE vzdump esistente e configurare i valori di ritenzione.", "monitorAlt": "Scheda di backup ProxMenux Monitor che mostra la Nuova finestra di dialogo di backup programmata con i campi di destinazione, profilo, pianificazione e ritenzione.", "monitorCaption": "Backup pianificato — ProxMenux Monitor. La stessa finestra guidata che crea un backup manuale contiene in basso i campi di pianificazione e conservazione per l’esecuzione senza intervento." }, "matrix": { "heading": "La matrice con sei opzioni", "intro": "La scelta determina sia il backend eseguito sia la strategia di selezione dei percorsi. Consulta le pagine delle singole destinazioni per i dettagli di configurazione di ogni cella.", "rows": [ { "combo": "1", "destination": "PBS", "profile": "Predefinito", "action": "Carica il profilo predefinito e gli extra persistenti su un repository PBS configurato." }, { "combo": "2", "destination": "Borg", "profile": "Predefinito", "action": "Crea un archivio con il profilo predefinito più extra persistenti nel repository Borg selezionato." }, { "combo": "3", "destination": "Locale", "profile": "Predefinito", "action": "Scrive un archivio .tar.zst con il profilo predefinito più extra persistenti al target locale configurato." }, { "combo": "4", "destination": "PBS", "profile": "Personalizzato", "action": "Apre il selettore dei percorsi prima del caricamento su PBS; l’utente seleziona i percorsi e può aggiungerne di nuovi." }, { "combo": "5", "destination": "Borg", "profile": "Personalizzato", "action": "Apre il selettore dei percorsi prima di creare l’archivio Borg." }, { "combo": "6", "destination": "Locale", "profile": "Personalizzato", "action": "Apre il selettore dei percorsi prima di scrivere il file .tar.zst locale." } ] }, "profiles": { "heading": "Profilo predefinito e personalizzato", "defaultTitle": "Profilo predefinito", "defaultBody": "Il profilo predefinito è l'elenco curato da hb_default_profile_paths (documentato in Come funziona sotto Categorie di percorsi) più ogni voce nel file extra persistente /usr/local/share/proxmenux/backup-extra-paths.txt. L'utente conferma le opzioni di destinazione e crittografia e il backup procede senza ulteriori selezioni dei percorsi.", "customTitle": "Profilo personalizzato", "customBody": "Il profilo personalizzato apre un elenco con tutti i percorsi del profilo predefinito (non selezionati) e tutti gli extra persistenti (già selezionati, con il prefisso [+]). L’utente seleziona i percorsi per questa esecuzione e può premere Aggiungi percorso personalizzato per aggiungere un nuovo percorso assoluto. I percorsi aggiunti vengono salvati in backup-extra-paths.txt, così i backup futuri li includono automaticamente senza doverli aggiungere di nuovo. Deselezionare un extra persistente lo esclude da questa esecuzione ma non lo elimina dal file — l’eliminazione avviene con l’azione separata Gestisci percorsi personalizzati, al di fuori del flusso di backup.", "customPickerAlt": "Elenco di controllo del profilo personalizzato che mostra i percorsi di predefinito (non selezionati) e gli extra persistenti (già selezionati con un prefisso [+]), più pulsanti per aggiungere un nuovo percorso o confermare la selezione.", "customPickerCaption": "Profilo personalizzato — il selettore dei percorsi. I percorsi del profilo predefinito non sono selezionati; gli extra persistenti sono già selezionati con il prefisso [+]. L’utente seleziona i percorsi per questa esecuzione.", "manageCustomAlt": "Menu di gestione dei percorsi personalizzati con l’elenco degli extra persistenti e le opzioni per aggiungerli, rimuoverli o modificarli.", "manageCustomCaption": "Gestisci percorsi personalizzati — il punto di ingresso dove vengono aggiunti o rimossi gli extra persistenti. Ogni percorso elencato qui è incluso automaticamente nei backup in modalità predefinita senza dover aprire il selettore personalizzato." }, "commonPipeline": { "heading": "Cosa funziona indipendentemente dalla destinazione", "intro": "Una volta definito il profilo, ogni backend esegue la stessa procedura di preparazione temporanea prima di passare al proprio metodo di caricamento. hb_prepare_staging assembla l’albero dell’archivio in /tmp/proxmenux-DESTINATION-stage.XXXXXX e compila ciascuno dei tre blocchi di dati.", "steps": [ { "step": "1", "name": "Assemblaggio del rootfs", "detail": "Esegue rsync -a per ogni percorso selezionato verso staging_root/rootfs/. Il database pmxcfs in /var/lib/pve-cluster/config.db viene acquisito separatamente tramite sqlite3 .backup per ottenere un’istantanea coerente senza arrestare il cluster; i file ausiliari .db-wal / .db-shm sono esclusi da rsync. Se sqlite3 non è disponibile, viene invece salvato un file config.db.raw-fallback, che il ripristino adotta come database durante l’importazione. Da /root/ sono esclusi i sottopercorsi volatili (cronologia bash, cache, cestino). I percorsi assenti nell’origine vengono registrati in metadata/missing_paths.txt senza interrompere il backup." }, { "step": "2", "name": "Generazione manifesto", "detail": "build_manifest.sh coordina i sei moduli di raccolta e scrive manifest.json nella radice della directory temporanea. Se un modulo non riesce, la sezione interessata assume un valore predefinito vuoto documentato; il manifest resta valido." }, { "step": "3", "name": "Inventario dei pacchetti", "detail": "apt-mark showmanual viene catturato verbatim in metadata/packages.manual.list. Lo stato dei componenti è già all'interno del rootfs ripristinato (components_status.json) perché /usr/local/share/proxmenux/ fa parte del profilo predefinito." }, { "step": "4", "name": "Informazioni sull’esecuzione", "detail": "metadata/run_info.env registra l'identità di esecuzione di backup — hostname, timestamp, versione del kernel — utilizzata dal controllo di compatibilità del ripristino per determinare la direzione del cross-kernel." }, { "step": "5", "name": "Notifica (start)", "detail": "Viene eseguito hb_notify_lifecycle \"start\". Se le notifiche sono configurate nel Monitor, viene inviato all’utente l’evento Backup dell’host avviato. Non viene inviato nulla se non sono configurati canali." } ] }, "included": { "heading": "Cosa entra e cosa rimane fuori", "intro": "Ogni percorso nel profilo risolto (predefinito + extra persistenti + selezione personalizzata) viene copiato con rsync -aAXH --numeric-ids. Un elenco di esclusione condiviso si applica a ogni percorso, e due directory portano ulteriori esclusioni specifiche del percorso.", "globalTitle": "Esclusioni globali (applicate ad ogni percorso)", "globalItems": [ "images/ — dump immagine.", "dump/ — output di vzdump.", "tmp/ — file temporanei.", "*.log — file di registro." ], "rootTitle": "/root/ esclusioni", "rootBody": "/root/ fa parte del profilo predefinito per includere nell’archivio gli script e la configurazione dell’utente. Sono esclusi i sottopercorsi volatili:", "rootItems": [ ".bash_history", ".cache/", "tmp/", ".local/share/Trash/" ], "proxmenuxTitle": "/usr/local/share/proxmenux/ esclusioni", "proxmenuxBody": "Questa directory spedisce solo stato utente — components_status.json, preferenze, cache post-installazione. Codice che la destinazione avrà già dalla propria installazione ProxMenux è escluso quindi un ripristino non sovrascrive i binari attuali dell'obiettivo con quelli più vecchi:", "proxmenuxItems": [ "restore-pending/, scripts/, web/", "monitor-app/, monitor-app.*/, AppImage/", "images/, json/", "utils.sh, helpers_cache.json", "ProxMenux-Monitor.AppImage*, install_proxmenux*.sh" ], "notInProfileTitle": "Percorsi fuori dal profilo", "notInProfileBody": "Qualsiasi cosa non elencata in hb_default_profile_paths e non aggiunta come un extra personalizzato o persistente non fa parte del backup. Esempi notevoli:", "notInProfileItems": [ "VM e dischi LXC — gestiti da vzdump, non da questa funzione. I file di configurazione degli ospiti sotto /etc/pve/nodes/*/qemu-server/*.conf e lxc/*.conf vengono catturati (vivono sotto /etc/pve) in modo che il ripristino riproduca l'inventario; i dischi stessi vengono riattaccati da un backup vzdump/PBS esistente.", "/boot e /boot/efi — binari del kernel, initramfs e la partizione UEFI ESP sono rigenerati dal proprio update-initramfs, update-grub o proxmox-boot-tool refresh dopo il ripristino. Il bootloader non è mai copiato verbatim.", "Filesystem del kernel e dello stato di esecuzione del sistema — /proc, /sys, /dev e /run sono pseudo-filesystem generati dal kernel e da udev; non vengono salvati in modo persistente.", "Binari dei pacchetti in /usr/bin, /usr/lib, /lib, /sbin — reinstallati da APT sul sistema di destinazione a partire da packages.manual.list.", "/var/log/, /var/tmp/, /var/cache/ — stato runtime per host, non restaurato.", "/home/USER — non nel profilo predefinito. Aggiungilo come un percorso personalizzato quando un sistema porta directory home degli utenti che devono sopravvivere a un ripristino." ], "customPathsTitle": "Come vengono gestiti i percorsi personalizzati", "customPathsBody": "Un percorso personalizzato aggiunto in linea in modalità personalizzata o persistito in backup-extra-paths.txt passa attraverso la stessa pipeline rsync come percorsi di default-profile. Si applicano esclusioni globali. Se il percorso personalizzato avviene sotto /root/ o /usr/local/share/proxmenux/, si applicano ancora le esclusioni specifiche del percorso. Ogni percorso archiviato — predefinito o personalizzato — viene registrato in metadata/paths_archived.txt. I percorsi che non esistono sulla sorgente sono registrati in metadata/missing_paths.txt senza interrompere il backup." }, "archiveStructure": { "heading": "Struttura dell'archivio", "intro": "La directory di staging prodotta da ogni backend segue lo stesso layout indipendentemente dalla destinazione. Il tarball, PBS .pxar o Borg archivio memorizza questo albero verbatim.", "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": "Riepilogo conferma", "body": "Prima che il backend scriva qualcosa alla destinazione, ProxMenux mostra una finestra di dialogo sommaria con la destinazione, l'ID di backup o il nome dell'archivio, lo stato di crittografia e l'elenco dei percorsi da copiare. Cancellando qui interrompe il backup in modo pulito — la directory di staging viene rimossa dal gancio trap impostato sulla funzione backend e nessun dato parziale raggiunge la destinazione." }, "writing": { "heading": "Scrivere alla destinazione", "intro": "Dopo la conferma, ogni backend esegue la propria fase di scrittura. Le pagine delle destinazioni ne descrivono il funzionamento; gli elementi comuni sono il log, il file ausiliario e la notifica di completamento.", "rows": [ { "topic": "File di registro", "detail": "Ogni backend scrive il suo output completo a /tmp/proxmenux-DESTINATION-backup-YYYYMMDD_HHMMSS.log e, in caso di guasto, offre di aprirlo in una finestra di dialogo scorrevole. Il percorso di log è stampato nel sommario di completamento solo quando il file ha contenuto." }, { "topic": "Sidecar (solo locale)", "detail": "hb_write_archive_sidecar scrive un *.proxmenux.json accanto all'archivio locale, quindi il Monitor lo identifica come backup host ProxMenux anche dopo mosse o rinominazioni." }, { "topic": "Notifica (completamento/errore)", "detail": "Viene eseguito hb_notify_lifecycle \"complete\" o \"fail\" con durata, dimensione dell’archivio e — in caso di errore — l’ultima riga del log che sembra indicare un errore." } ] }, "finishedScreens": { "heading": "Che aspetto ha un backup finito", "intro": "Lo stesso evento di completamento viene mostrato da entrambi i punti di accesso. La TUI scrive un riepilogo nel terminale; la scheda Backups di Monitor mostra l’esecuzione nell’elenco degli archivi con dimensione, durata e indicatori di stato.", "scriptsAlt": "ProxMenux Scripts TUI che mostra un backup host finito — destinazione, ID di backup, percorso snapshot, dimensione dei dati, durata e stato di crittografia.", "scriptsCaption": "Backup finito — ProxMenux Scripts (TUI). Il blocco di completamento stampa la destinazione, l'ID di backup, il nome dell'istantanea o dell'archivio risultante, la dimensione dei dati, la durata e lo stato di crittografia.", "monitorAlt": "Scheda di backup ProxMenux Monitor che mostra una voce di backup host finita con dimensioni, durata, indicatore del metodo e indicatore di crittografia.", "monitorCaption": "Backup finito — scheda di backup ProxMenux Monitor. Il nuovo backup appare nell'elenco di archivio con il badge metodo di destinazione, dimensione, durata e - quando applicabile - l'indicatore di blocco di crittografia." }, "whereNext": { "heading": "Dove andare dopo", "items": [ { "label": "Destinazioni", "href": "/docs/backup-restore/destinations", "tail": "— dettagli di configurazione per Local, PBS e Borg." }, { "label": "Lavori programmati", "href": "/docs/backup-restore/scheduled-jobs", "tail": "— eseguire lo stesso backup incustodito su un programma invece di interattivamente." }, { "label": "Ripristino", "href": "/docs/backup-restore/restoring", "tail": "— il flusso che consuma ciò che questa pagina produce." } ] } }