Gestire dataset massivi (100GB+) su un server remoto presenta due sfide principali: la gestione delle risorse (RAM/CPU) e la stabilità della connessione. Se la sessione SSH cade mentre stai creando un archivio enorme, il processo viene interrotto bruscamente, obbligandoti a ricominciare da capo.
In questa guida vedremo come usare 7-Zip per creare archivi multi-volume e come proteggere il processo con screen.
1. Il problema della disconnessione SSH
Quando avvii un comando tramite SSH, questo è legato alla tua sessione. Se la tua connessione internet vacilla o chiudi il terminale, il sistema invia un segnale di "hangup" (SIGHUP) e interrompe il lavoro. Per un backup di molto grande che può richiedere ore, questo è un rischio inaccettabile.
La soluzione: GNU Screen
screen è un multiplexer di terminale che permette di avviare un processo in una sessione virtuale che sopravvive anche se ti disconnetti.
Installazione:
sudo apt update && sudo apt install screen p7zip-full
2. Flusso di lavoro con Screen
Prima di lanciare il comando di compressione, crea una sessione dedicata:
-
Crea una sessione:
screen -S backup_cliente - Lancia il comando di compressione (vedi sezione successiva).
-
Scollegati (Detach): Premi
CTRL + Ae poi il tastoD. Ora puoi chiudere il terminale e spegnere il tuo PC; il server continuerà a lavorare. - Ricollegati (Resume): Quando vuoi controllare l'avanzamento, torna nel terminale e scrivi:
screen -r backup_cliente
3. Il comando 7-Zip ottimizzato (Low RAM)
Per evitare che il server vada in crash per esaurimento memoria (OOM Error), utilizziamo parametri che limitano l'uso della RAM e della CPU:
7z a -v1g -mx=1 -md=16m -mmt=2 -p -mhe=on archive_name.7z ./source_folder/
Analisi dei parametri:
-
a: Aggiunge i file all'archivio. -
-v1g: Divide l'archivio in parti da 1GB (ideale per upload/download FTP stabili). -
-mx=1: Compressione minima (ultra-rapida). Fondamentale per risparmiare tempo. -
-md=16m: Riduce il "dizionario" di compressione a 16MB per mantenere basso l'uso della RAM. -
-mmt=2: Limita l'uso a 2 thread della CPU. -
-p: Richiede una password in modo sicuro (non apparirà in chiaro nei log). -
-mhe=on: Cifra anche i nomi dei file (senza password non si vede il contenuto).
5. Verifica e Consegna al Cliente
Una volta terminato, verifica l'integrità dei volumi prima di caricarli sull'FTP:
7z t archive_name.7z.001
Istruzioni per il cliente:
Comunica al destinatario che per estrarre i dati dovrà:
- Scaricare tutti i file (
.001,.002, ... fino al file.7z). - Usare software come 7-Zip (Windows).
- Aprire esclusivamente il primo file della serie; il programma ricomporrà automaticamente l'intero archivio.
Top comments (0)