Backup dei dati utilizzando la combinazione FreeFileSync e 7-zip

Anamnesi, per così dire:

Server Fujitsu rx300 s6, RAID6 con 6 dischi da 1 TB, su XenServer 6.2, in esecuzione diversi server, tra cui Ubuntu con diverse condivisioni, 3,5 milioni di file, 1,5 TB di dati, tutto ciò cresce e si espande gradualmente.

Compito: configurare il backup dei dati dal server di file, parzialmente quotidiano, parzialmente settimanale.
Abbiamo una macchina Windows per il backup con RAID5 (un normale PC con un controller RAID integrato) più un disco separato da 2 TB per la copia temporanea dello stato attuale dei file. Si poteva utilizzare qualsiasi distribuzione Linux, ma questa macchina era già disponibile con un array RAID e una licenza Windows.

Installiamo sul server di backup FreeFileSync, configuriamo il «mirror» di tutto il contenuto di tutte le condivisioni dal server di file una volta al giorno, la sera dopo le 18 con l'avvio tramite il pianificatore.

Punto importante: durante il salvataggio del compito batch, assicurati di selezionare «Chiudi finestra attività al termine», altrimenti i processi si moltiplicheranno.

Aggiungiamo alle eccezioni per maschera i file temporanei: *.dwl, *.dwl2, *.tmp.

FreeFileSync utilizza estremamente bene la rete, la copia avviene in più flussi, la velocità raggiunge 80 MB/s durante la copia di file grandi, non sono stati riscontrati colli di bottiglia sui file piccoli.

Effettueremo l'archiviazione già sul server di backup locale, invece del precedente TheCopier con archiviazione in rete. A proposito, TheCopier è eccellente! Ma con tali volumi semplicemente non riesce a trasferire tutto, nonostante l'interfaccia da 1 Gbps sul server di backup e 2 Gbps sul server di file (aggregazione di due schede di rete).

In passato è stato usato anche SyncToy, ma con un numero di file superiore a 1,5-2 milioni ha smesso di funzionare normalmente, semplicemente non ce la faceva.

Per archiviare le cartelle necessarie, scriviamo uno script batch per 7-zip:

set now=%TIME:~0,-3%
set now=%now::=.%
set now=%now: =0%
imposta ora=TE:~-4%.TE:~3,2%.TE:~0,2%_%now%
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_10-04.zip E:10-04
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_35-110.zip E:35-110
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_asu.zip E:asu
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_director.zip E:director
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_gpr.zip E:gpr
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_otiz.zip E:otiz
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_ps.zip E:ps
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_pto.zip E:pto
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_rza.zip E:rza
C:"Program Files"7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_smeta.zip E:smeta

:: a — creazione dell'archivio
:: -tzip o -t7z — tipo di archivio (zip è da 1,5 a 2 volte più veloce)
:: -mx=1 — grado di compressione (1 minimo, 9 massimo, valori x=[0 | 1 | 3 | 5 | 7 | 9])
:: -mmt=on — attiva il multithreading se non abilitato
:: -mtc=off — disabilita i timestamp del filesystem (data di creazione, modifica, ecc.)
:: -ssw — comprime anche i file aperti per la scrittura
:: -xr!.Sync* — esclude i file temporanei BtSync dall'archiviazione, lasciando quelli permanenti

La costruzione di set now=% e così via permette di mantenere il formato di registrazione del tempo nel nome del file senza problemi, che si verificavano quando il giorno o il mese erano inferiori a 10, ossia inserendo lo zero.

Il commento -xr!.Sync* è un relitto rimasto dall'originariamente utilizzato BTSync.

Fino a 500 GB e 700-800 mila file, BTSync funzionava bene, sincronizzando al volo, ma con le attuali proporzioni consumava molta memoria e risorse della CPU, sia sul server di file Ubuntu che sul backup Windows, dove era eseguito come un servizio, e inoltre stressava continuamente il sistema disco con letture e scritture.

Sebbene si utilizzi l'archiviatore 7-zip, creiamo l'archivio in formato zip invece del nativo 7z, poiché è di gran lunga più veloce e non c'è praticamente alcuna differenza nella compressione con mx=1, come dimostrato da molti esperimenti.

Gli archivi vengono eseguiti in ordine.

La pulizia della cartella degli archivi avviene anche tramite un'operazione pianificata utilizzando l'utilità fpurge, lasciando gli archivi non più vecchi di una settimana.
Il risultato è una copia dei file del giorno precedente e archivi dell'ultima settimana, i file eliminati da FreeFileSync vengono spostati nel cestino.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster