# Bacula

Bacula è un sistema di backup open source di livello aziendale. È progettato per automatizzare le attività di backup che spesso richiedevano l'intervento di un amministratore di sistema o di un operatore: supporta client di backup per Linux, UNIX, Windows e macOS oltre una gamma di dispositivi di backup professionali, inclusi i sistemi a nastro.
Gli amministratori e gli operatori possono configurare il sistema tramite una interfaccia a riga di comando, la GUI o l'interfaccia web; il suo back-end è un catalogo di informazioni memorizzate da MySQL, PostgreSQL o SQLite.

## Panoramica

Bacula è un insieme di programmi per computer per la gestione del backup, del ripristino e della verifica dei dati in una rete, fornendo una soluzione di backup per ambienti con sistemi operativi misti. È open source e rilasciato sotto licenza AGPL versione 3, con le eccezioni per consentire il collegamento con OpenSSL e la distribuzione di binari per MS Windows. È disponibile con "doppia licenza" AGPLv3 o licenza proprietaria. Diverse aziende offrono supporto commerciale per la "Bacula community version" AGPL mentre Bacula Systems vende vari livelli di contratti di supporto annuali per la "Bacula Enterprise Edition", che contiene vari componenti non GPL sviluppati internamente.
Nel 2015, Bacula Systems è stata nominata "Top 20 Most Promising Data Center Solution Provider" da CIO Review. I componenti sviluppati per la Bacula Enterprise Edition vengono rilasciati nell'edizione Bacula Community dopo un periodo di esclusività per la versione proprietaria.
Dall'aprile 2002, Bacula ha oltre 2 milioni di download, il che lo rende il programma di backup open source più scaricato.

## Caratteristiche

Le caratteristiche di Bacula includono:

### Opzioni di rete

* Comunicazione TCP/IP client-server - utilizza porte e servizi standard invece di RPC per NFS, SMB, ecc.; questo facilita l'amministrazione del firewall e la sicurezza della rete
* CRAM-MD5 - autenticazione client-server configurabile
* GZIP/LZO - compressione lato client per ridurre il consumo di larghezza di banda della rete; questo viene eseguito separatamente dalla compressione hardware eseguita dal dispositivo di backup
* TLS - crittografia della comunicazione di rete
* MD5/SHA - verifica l'integrità del file
* CRC - verifica l'integrità del blocco dati
* PKI - crittografia dei dati di backup
* NDMP - plug-in per la versione Business
* backup su cloud con alcuni servizi S3 di archiviazione file

### Sistema operativo client

Il software client di Bacula, eseguito tramite "demone", supporta più sistemi operativi.

## Considerazioni

Per impostazione predefinita, i backup differenziali e incrementali di Bacula si basano sui timestamp del sistema. Di conseguenza, se si spostano file in una directory esistente o si sposta un'intera directory nel FileSet di backup dopo un backup completo, è possibile che non venga eseguito il backup di tali file con un salvataggio incrementale perché potrebbero avere timestamp precedenti. È necessario aggiornare esplicitamente la data/ora su tutti i file spostati. Le versioni Bacula a partire dalla 3.0 o successive, supportano il backup accurato, che è un'opzione che risolve questo problema senza richiedere la modifica dei timestamp dei file. Questa funzione dovrebbe essere sempre impiegata per mantenere uno stato accurato del filesystem. Il criterio da applicare è configurabile, ad esempio basandosi sui confronti degli inode, dei tempi di modifica o delle firme md5/sha1.

## Cronologia

| Data | Evento |
| gennaio 2000 | Inizio del progetto |
| 14 aprile 2002 | Prima versione disponibile su SourceForge.net (versione 1.16) |
| 29 giugno 2006 | Versione 1.38.11 (versione finale 1) |
| gennaio 2007 | Versione 2.0.0 |
| settembre 2007 | Versione 2.2.3 |
| giugno 2008 | Versione 2.4.0 |
| aprile 2009 | Release 3.0.0 |
| gennaio 2010 | Release 5.0.0 |
| settembre 2010 | Versione 5.0.3 |
| gennaio 2012 | Release 5.2.4 |
| febbraio 2012 | Versione 5.2.6 |
| giugno 2012 | Versione 5.2.9 |
| febbraio 2013 | Versione 5.2.13 |
| luglio 2014 | Release 7.0.5 |
| agosto 2015 | Release 7.2.0 |
| luglio 2017 | Rilascio 9.0.0 |
| dicembre 2018 | Rilascio 9.2.0 |
| gennaio 2020 | Rilascio 9.4.0 |
| marzo 2021 | Release 11.0.0 |

## Fork di Bacula

Nel 2011, Graham Keeling, un "ex" sviluppatore della comunità Bacula, ha rilasciato un fork di Bacula.
Nel febbraio 2013, un ex sviluppatore della comunità Bacula ha rilasciato Bareos come fork di Bacula.