Come eseguire il backup o il ripristino dei dati Redmine esistenti

8/31/2020
10 minuti
Lukaš Beňa

Il successo di ogni soluzione di project management si basa su una cosa semplice: i dati. Sai già come eseguire il backup o il ripristino dei dati esistenti da Redmine? In caso contrario, ecco come puoi farlo per ogni database.

I backup di Redmine devono includere:

  • Banca Dati
  • Allegati (depositati nella directory dei file sotto la directory di installazione per impostazione predefinita)


Backup del database


MySQL

MySQL, il più popolare sistema di database SQL Open Source, è unico, distribuito e supportato da Oracle Corporation. Il sito web MySQL offre le informazioni più recenti sul software MySQL. MySQL potrebbe essere un dispositivo di gestione.

Un database può essere una serie strutturata di statistiche. sarà qualcosa da una semplice lista della spesa a una galleria di immagini o la notevole quantità di fatti durante una rete aziendale. Per aggiungere, ottenere l'accesso ed elaborare i fatti archiviati durante il database di un PC, vorresti un dispositivo di controllo del database insieme a MySQL Server. Poiché i computer sono eccellenti nel gestire grandi quantità di statistiche, i sistemi di gestione svolgono una funzione centrale nell'informatica, come utilità standalone o come componenti di altre applicazioni. I database MySQL sono relazionali.

Un database elettronico memorizza le statistiche in tabelle separate piuttosto che mettere tutte le statistiche in un grande magazzino. Le strutture del database vengono preparate documenti fisici ottimizzati per la velocità. Il modello logico, con gadget inclusi database, tabelle, viste, righe e colonne, offre un ambiente di programmazione flessibile. Hai scoperto le regole che regolano le relazioni tra uno tra una sorta di campi informativi, comprensivi di uno a uno, uno a molti, univoci, obbligatori o facoltativi, e "puntatori" tra tabelle straordinarie.

Il database supporta queste normative e, con un database molto ben progettato, la tua utilità non è affatto uguale a statistiche incoerenti, duplicate, orfane, non aggiornate o mancanti. Il componente SQL di "MySQL" sta per "Structured Query Language". SQL è il linguaggio standardizzato più comune che vuole ottenere il diritto di accesso ai database. contando sul tuo ambiente di programmazione, inserirai SQL direttamente (ad esempio, per ottenere report), incorporerai istruzioni SQL nel codice scritto nell'altro linguaggio o utilizzerai un'API specifica del linguaggio che nasconde la sintassi SQL. SQL viene descritto utilizzando lo standard SQL ANSI/ISO.

Il programma software MySQL è open source. Open Source significa che tutti possono utilizzare e modificare il programma software. Chiunque può scaricare il software MySQL dal web e usarlo senza pagare nulla. Se lo desideri, potrai dare un'occhiata al codice di disponibilità e alternarlo in base alle tue esigenze.

Il programma software MySQL utilizza l'estensione GPL (licenza pubblica generale GNU), per definire cosa farai e cosa non farai con il software in situazioni specifiche. Se si verifica un disagio con la GPL o si desidera incorporare il codice MySQL in un'applicazione aziendale, acquisterai da noi un modello con licenza commerciale.

Vedere la Panoramica delle licenze MySQL per ulteriori statistiche. Il server di database MySQL potrebbe anche essere in pochissimo tempo affidabile, scalabile e facile da usare. Se è quello che stai cercando, vorresti fare un tentativo. MySQL Server può essere eseguito facilmente su un laptop, insieme a diverse applicazioni, server di rete e così via, richiedendo poca o nessuna attenzione.

Se esegui il commit di un intero sistema su MySQL, modificherai le impostazioni per richiedere il vantaggio di tutta la memoria, la potenza della CPU e il potenziale di I/O disponibili. MySQL può anche scalare la quantità massima come cluster di macchine, collegati in rete insieme. All'inizio MySQL Server si è evoluto per gestire grandi database molto più veloce della soluzione esistentes ed è stato efficacemente utilizzato in ambienti di produzione tremendamente preoccupanti per diversi anni. Sebbene sia in continuo sviluppo, MySQL Server offre ora una preziosa raccolta di funzioni di alto livello.

La sua connettività, velocità e sicurezza rendono MySQL Server eccezionalmente perfetto per ottenere l'accesso ai database sul web. MySQL Server viene eseguito in operazioni client/server o integrate. Il software MySQL Database potrebbe essere una macchina utente/server che ha un server SQL multithread che aiuta back-end eccezionali, numerose applicazioni e librerie di consumo eccezionali, strumenti amministrativi e un buon tipo di interfacce di programmazione di utilità (API).

È molto probabile che il tuo software o linguaggio preferito aiuti il ​​server di database MySQL. La pronuncia di "MySQL" è "My Ess Que Ell" (non "il mio sequel"), ma va bene nel caso in cui lo pronunci come "il mio sequel" o in qualche modo localizzato diverso.

Ecco come puoi eseguire il backup dei dati per My SQL:

Il comando mysqldump può essere utilizzato per eseguire il backup del contenuto del database MySQL in un file di testo. Per esempio:

mysqldump -u -p > /path/to/backup/db/redmine.sql

Trova questi , , , e nel file config / database.yml. potrebbe non essere necessario a seconda dell'installazione del database.


PostgreSQL

PostgreSQL è un sistema di gestione open source di prim'ordine. Supporta ogni SQL per le query relazionali e JSON per le query non relazionali. È supportato da una comunità esperta di sviluppatori che hanno dato un contributo straordinario per trasformarlo in un sistema DBMS estremamente affidabile. PostgreSQL supporta tipi di dati avanzati e migliora l'ottimizzazione delle prestazioni, le migliori caratteristiche disponibili all'interno del costoso database aziendale, come Oracle e SQL Server.

MySQL o PostgreSQL?

La sfida di MySQL ha fatto sì che il suo codice di fornitura fosse disponibile al di sotto dei termini della licenza GNU e di diversi accordi proprietari. PostgreSQL viene lanciato con la licenza PostgreSQL. Ora è di proprietà di Oracle Corporation e offre diverse edizioni a pagamento. È un software non fissato e open source. Con quell'approccio non pagherai mai nulla per questo servizio.

MySQL è compatibile con ACID nella migliore delle ipotesi quando si utilizzano motori NDB e InnoDB Cluster Storage PostgreSQL è completamente compatibile con ACID. MySQL funziona bene nelle strutture OLAP e OLTP in cui solo il ritmo di studio è fondamentale. Le prestazioni complessive di PostgreSQL funzionano in modo soddisfacente in strutture che decidono per l'esecuzione di query complicate.

MySQL è affidabile e funziona bene con i programmi BI (Business Intelligence), che sono difficili da leggere PostgreSQL funziona bene con le applicazioni BI. Tuttavia, è decisamente più appropriato per il data warehousing e per i pacchetti di valutazione dei record che richiedono velocità di esame e scrittura rapide.

Ecco come puoi eseguire il backup dei dati per PostgreSQL:

  1. Accedi come utente postgres:

    su - postgres

  2. Usa il comando pg_dump per eseguire il backup di tutti i contenuti di un database PostgreSQL in un file di testo:

    pg_dump -U -Fc <nome_database>> /path/to/backup/db/redmine.sql

Trova questi e nel file config / database.yml. Il comando pg_dump ti aiuterà ad accedere alla password quando richiesto.


SQLite

SQLite potrebbe essere una libreria software che dà un gadget di gestione di database elettronici. L'approccio leggero all'interno dell'approccio SQLite è leggero in termini di configurazione, amministrazione del database e risorse richieste. SQLite ha successivamente notevoli capacità: autonomo, serverless, a configurazione zero, transazionale. Serverless Normalmente, un RDBMS insieme a MySQL, PostgreSQL, ecc., richiede una modalità server separata per funzionare.

Le applicazioni che richiedono l'accesso urgente al server del database utilizzano il protocollo TCP/IP per inviare e acquisire richieste. Questo è spesso chiamato architettura client/server. Architettura client-server RDBMS SQLite non dipinge in questo modo. SQLite non richiede un server per essere eseguito. Il database SQLite è integrato con l'appliance che accede al database.

I programmi interagiscono con il database SQLite per guardare e scrivere immediatamente dai file del database salvati su disco. Che cos'è SQLite Self-Contained SQLite può essere un modo autonomo che comporta un'assistenza minima dal gadget operativo o dall'esterno della libreria. Ciò presenta SQLite come utile in qualsiasi circostanza, in particolare in gadget incorporati come iPhone, telefoni Android, console di gioco, lettori multimediali portatili, ecc. SQLite ha sviluppato l'utilizzo di ANSI-C.

Il file di testo ASCII deve essere ottenuto come un sqlite3.C fuori misura e il relativo rapporto di intestazione sqlite3.H. Se desideri ampliare un'utilità che utilizza SQLite, devi solo rilasciare questi file nel tuo progetto e assemblarlo insieme al tuo codice. Zero configurazione grazie all'architettura serverless, non puoi "installare" SQLite prima del suo utilizzo. non c'è alcuna procedura del server che deve essere configurata, avviata e arrestata. SQLite non utilizza alcun file di configurazione. Tutte le transazioni all'interno di SQLite sono completamente compatibili con ACID.

Le sue maniere e le sue modifiche sono Atomiche, Coerenti, Isolate e robuste. In poche parole, tutte le modifiche all'interno di una transazione si verificano assolutamente o in nessun caso, anche quando si verifica uno stato imprevisto come un arresto anomalo di un'utilità, un'interruzione dell'energia o un arresto anomalo del dispositivo operativo. Capacità distintive di SQLite SQLite utilizza ordinamenti dinamici per le tabelle. Significa che manterrai qualsiasi prezzo in qualsiasi colonna, indipendentemente dal tipo di statistiche. SQLite consente a una connessione al database di sollecitare la voce corretta per silenziare un file di database contemporaneamente.

Questo porta molte caratteristiche soddisfacenti come unire tabelle in database eccezionali o copiare statistiche tra database durante un unico comando. SQLite è in grado di creare database in memoria con cui in pochissimo tempo sarà possibile disegnare. I database SQLite sono tutti contenuti in un file, quindi esegui il backup copiando il file in una posizione diversa. È possibile determinare il nome del file del database SQLite guardando config/database.yml.


Backup degli allegati

Ogni caricamento di file viene archiviato in attachments_storage_path (il valore predefinito è la directory files /). È possibile copiare il contenuto di questa directory in una posizione diversa per eseguirne rapidamente il backup.

ATTENZIONE: attachments_storage_path può puntare a una directory speciale oltre a files /. Assicurati di rivedere l'impostazione in config / configuration.yml per evitare di fare un backup inutile.


Script di backup di esempio

Potrebbe esserci un semplice script di shell che può essere utilizzato per i backup giornalieri (supponendo che tu stia utilizzando un database MySQL):

# Banca dati

/ usr / bin / mysqldump -u -p | gzip> / path / to / backup / db / redmine_`date +% Y-% m-% d`.gz

# Allegati

rsync -a / percorso / a / redmine / file / percorso / a / backup / file


Ripristina un database


MySQL

Ad esempio, se si tiene un file di dump gziped con il titolo 2018-07-30.gz, il database può essere ripristinato con il comando successivo:

gunzip <2018-07-30.gz | mysql -u -p

Inserire la password.


PostgreSQL

Quando viene utilizzata la scelta -Fc del comando pg_dump come nell'esempio sopra, allora vorresti usare il comando pg_restore:

pg_restore -U -d redmine.sql

Un file di testo può anche essere ripristinato con psql:

psql <


SQLite

Copiare il file di database dalla posizione del backup.

L'ultimo aggiornamento di Redmine? Facile.

Ottieni tutti gli strumenti potenti per una perfetta pianificazione, gestione e controllo del progetto in un unico software.

Prova Easy Redmine in 30 giorni di prova gratuita

Funzionalità complete, protezione SSL, backup giornalieri, nella tua geolocalizzazione