Fare il Backup di Plone
Note: Return to tutorial view.
Fare il Backup di Plone
Fare il backup di cosa?
Sarebbe bene fare il backup almeno di:
- I propri contenuti. Questi di solito si trovano nel file database di Zope Data.fs all'interno della directory var. Stessa cosa vale per un'eventuale cartella contenente file ed immagini del portale nel caso si utilizzi uno storage su file system anzichè il Data.fs.
- Eventuali personalizzazioni operate sul file system.
- Tutti i prodotti installati. Essi sono necessari nel caso in cui si proceda ad una nuova installazione di Plone. Fare perciò una copia dell'intera directory Products del proprio Zope, così come di ogni altra directory i cui link simbolici rimandino in qualche modo a Products. Nota che utilizzando buildout la cartella da considerare è products. Non è per forza necessario fare il backup di prodotti che è possibile recuperare da archivi su internet (come il SVN di Plone). In ogni caso se si devono recuperare dei dati dalla copia di backup saranno richieste le medesime versioni dei prodotti che sono usati nel proprio sito web nel backup. Fare il backup dei prodotti previene la perdita di dati e fa in modo di non dover dipendere da archivi esterni.
- External Methods nella directory Extensions di Zope, se presenti.
- I propri file di configurazione di Zope (solitamente zope.conf nella directory etc della nostra istanza di Zope).
- I propri file traduzione personalizzati (di solito nella directory i18n di Zope).
La maggior parte di questi file possono essere semplicemente copiati come backup su un server o su un mezzo (ad esempio tramite un rsync giornaliero di Zope). Per chiarezza va detto che il file database Data.fs rappresenta un'eccezione a questa regola.
Creare una copia di backup del contenuto nel database Data.fs
Quando si copia il file Data.fs bisogna usare la dovuta cautela, in quanto questo particolare file viene modificato mentre Plone è attivo e operativo. Sebbene Plone (in realtà Zope) sia di solito in grado di recuperare il file database in questo tipo di situazione, esistono alcune eccezioni a questa regola (ad esempio quando un'operazione annulla o comprimi è in progress durante il backup). Pertanto si raccomanda caldamente di fare una copia di backup in uno dei seguenti modi.
Con Repozo
Il modo raccomandato di fare il backup di un database è quello di usare lo script repozo.py di Zope. In questo modo è possibile operare un backup sicuro e automatico mentre Plone sta lavorando, senza avere effetti indesiderati sui propri dati. Questa è solitamente considerata la modalità migliore di svolgere un backup di Plone/Zope in un ambiente di produzione.
Repozo può essere usato per creare un backup completo del database. Dato che Plone immagazzina i suoi dati in un singolo grande file binario, creare un backup completo giornaliero potrebbe consumare troppa memoria e risorse network. In questo caso si può utilizzare Repozo per creare un backup incrementale di database senza spegnere il server.
Maggiori informazioni su Repozo si possono trovare nella sezione Backing up FileStorage files sul sito di Zope. Lo script repozo.py può essere trovato nella directory bin nel software d'installazione di Zope. Esso contiene una docstring informativa sulle sue opzioni command line. Sempre basato su repozo è l'utility collective.recipe.backup che puoi utilizzare con maggiore facilità; per ulteriori informazioni visita la pagina collective.recipe.backup.
Spegnere Zope e fare il backup del database
Il modo più veloce e sicuro di fare un backup del database è quello di spegnere Zope, copiare il file Data.fs e riavviare Zope. Questa soluzione è semplice e sicura, ma ha lo svantaggio di rendere il proprio sito inattivo per qualche tempo.
Comprimere il database e fare il backup della copia pre-compressa
Un altro modo per eseguire in sicurezza il backup del file Data.fs senza spegnere il sito è quello di comprimere il database nella Zope Management Interface (ZMI): Control panel > Database management > Main > Pack. Questo procedimento lascerà un file Data.fs.old con il precedente contenuto del database. Dato che Plone non scriverà più quel file dopo la compressione, è più sicuro fare una copia di backup di questo file dopo la compressione mentre Plone sta ancora lavorando. Assicurarsi di copiare Data.fs.old e non solo Data.fs.
Comprimere il database significa ridurne le dimensioni cancellando versioni archiviate di oggetti salvati antecedenti ad una specifica data. Dopo la compressione non sarà più possibile ritornare a queste vecchie versioni annullando le transazioni.
Un prodotto che potrebbe tornare utile è PloneMaintenance. E' possibile utilizzarlo per comprimere automaticamente il database di tanto in tanto. Si può configurare ad esempio per comprimere il database ogni notte prima che lo script di backup di sistema si attivi sul server. In questo modo si avrà un backup giornaliero del database sicuro (presumendo che il backup di sistema abbia la possibilità di lavorare dopo la compressione del database).
Credits
Questo documento è stato realizzato da:
- Dario Pollino
