H3.3. Comandi di gestione del database

Inizializzazione del database

Ad inizializzazione il database deve essere assente o vuota.

drwcsd [<opzioni>] initdb [<chiave_di_licenza>|- [<script_sql>|- [<file_ini>|- [<password> [<script_lua>|-]]]]] — inizializzazione del database.

<chiave_di_licenza> — percorso della chiave di licenza Dr.Web agent.key. Se la chiave di licenza non è specificata, dovrà essere aggiunta in seguito dal Pannello di controllo o ottenuta attraverso la comunicazione inter-server da un Server adiacente.

<script_sql> — percorso dello script sql per l'inizializzazione della struttura fisica del database.

<file_ini> — file precedentemente creato in formato drweb32.ini che imposterà la configurazione iniziale dei componenti del software Dr.Web (per il gruppo Everyone).

<password> — password iniziale dell'amministratore del Server (il nome utente è admin). Di default è root.

<script_lua> — percorso dello script lua per l'inizializzazione del database (riempimento del database con valori predefiniti).

Il valore speciale "-" (meno) significa non utilizzare questo parametro.

Il segno meno può essere omesso se sono assenti i parametri che lo seguono.

Impostazione dei parametri di inizializzazione del database

Se si utilizza il database incorporato, i parametri di inizializzazione si possono impostare via un file esterno. Per farlo, si utilizza il comando:

drwcsd.exe initdbex <response-file>

<response-file> — file in cui sono scritti i parametri di inizializzazione del database, riga per riga, nello stesso ordine dei parametri del comando initdb.

Formato del file:

<nome_di_file_completo_della_chiave_di_licenza>

<nome_di_file_completo_dello_script_sql>

<nome_completo_del_file_ini>

<password_amministratore>

Si il response-file viene utilizzato in SO Windows, è possibile utilizzare qualsiasi carattere nella password dell'amministratore.

Le stringhe di coda che seguono il parametro necessario in un caso particolare non sono obbligatorie. Se una stringa è un "-" (segno "meno"), viene utilizzato il valore predefinito (come in initdb).

Aggiornamento del database

drwcsd [<opzioni>] updatedb <script> — per eseguire una manipolazione con il database (per esempio, aggiornamento durante cambio di versione) eseguendo uno script SQL o LUA dal file specificato.

Aggiornamento della versione del database

drwcsd upgradedb [<directory>] — per avviare il Server per aggiornare la struttura del database durante il passaggio a una nuova versione dalla directory indicata (vedi directory update-db) o tramite gli script interni.

Esportazione del database

a)drwcsd exportdb <file> — esportazione del database nel file indicato.

Esempio per SO Windows:

C:\Program Files\DrWeb Server\bin\drwcsd.exe -home="C:\Program Files\DrWeb Server" -var-root="C:\Program Files\DrWeb Server\var" -verbosity=all exportdb "C:\Program Files\DrWeb Server\esbase.es"

Sotto SO della famiglia UNIX l'azione viene eseguita dall'account utente drwcs:drwcs nella directory $DRWCS_VAR (eccetto SO FreeBSD che di default salva il file nella directory da cui è avviato lo script; se il percorso viene indicato esplicitamente, la directory deve essere provvista dei permessi di scrittura per <utente>:<gruppo> che sono stati creati durante l'installazione, di default è drwcs:drwcs).

b)drwcsd xmlexportdb <file-xml> — esportazione del database nel file xml indicato.

Se viene indicata l'estensione di file gz, il file di database verrà compresso all'esportazione in un archivio gzip.

Se nessun'estensione viene indicata o viene indicata un'estensione diversa da gz, il file di esportazione non verrà compresso in archivio.

Esempio per SO Windows:

Per esportare il database in un file xml senza compressione:

"C:\Program Files\DrWeb Server\bin\drwcsd.exe" "-home=C:\Program Files\DrWeb Server" "-bin-root=C:\Program Files\DrWeb Server" "-var-root=C:\Program Files\DrWeb Server\var" -verbosity=ALL -rotate=10,10m -log=export.log xmlexportdb database.db

Per esportare il database in un file xml compresso in archivio:

"C:\Program Files\DrWeb Server\bin\drwcsd.exe" "-home=C:\Program Files\DrWeb Server" "-bin-root=C:\Program Files\DrWeb Server" "-var-root=C:\Program Files\DrWeb Server\var" -verbosity=ALL -rotate=10,10m -log=export.log xmlexportdb database.gz

Esempio per il SO della famiglia UNIX:

Per esportare il database in un file xml senza compressione:

/etc/init.d/drwcsd xmlexportdb /es/database.db

Per esportare il database in un file xml compresso in archivio:

/etc/init.d/drwcsd xmlexportdb /es/database.gz

Importazione del database

a)drwcsd importdb <file> — importazione del database dal file indicato (il vecchio contenuto del database viene cancellato).

b)drwcsd upimportdb <file> [<directory>] — importazione e aggiornamento di un database ottenuto attraverso l'esportazione da un Server delle versioni precedenti (il vecchio contenuto del database viene cancellato). Inoltre, è possibile specificare il percorso di una directory con gli script per l'aggiornamento della struttura del database durante il passaggio a una nuova versione (simile al comando upgradedb).

c)drwcsd xmlimportdb <file xml> — importazione del database dal file xml indicato.

d)drwcsd xmlupimportdb <file_xml> [<directory>] — importazione e aggiornamento di un database ottenuto attraverso l'esportazione xml da un Server delle versioni precedenti. Inoltre, è possibile specificare il percorso di una directory con gli script per l'aggiornamento della struttura del database durante il passaggio a una nuova versione (simile al comando upgradedb).

e)drwcsd xmlimportdbnh <file xml> — importazione del database dal file xml indicato senza la considerazione dell'hash. Può essere utilizzato, per esempio, se il file xml del database veniva modificato manualmente, e l'hash del file scritto automaticamente durante l'esportazione non è più valido.

Prima di utilizzare i comandi upimportdb e xmlupimportdb, è necessario eseguire il backup del database.

Qualsiasi problema nel corso dell'esecuzione di questi comandi può comportare la rimozione di tutte le informazioni dal database.

 

I comandi upimportdb e xmlupimportdb possono essere utilizzati per l’importazione con l’aggiornamento della versione del database solo all’interno di un unico DBMS.

Dump dell'esportazione del database

drwcsd [<opzioni>] dumpimportdb <file_di_database> [<file_SQL> [<filtro_delle_tabelle>]] — scrivi nel file di log di Server o nel file SQL le informazioni dettagliate sul database incorporato o esterno.

L'importazione e l'esportazione del database nel corso dell'esecuzione del comando dumpimportdb non viene eseguita.

<file_di_database> — file di esportazione del database, di cui le informazioni verranno scritte nel log di Server o nel <file_SQL>. Il file di esportazione può essere ottenuto tramite il comando exportdb; inoltre, è possibile utilizzare un file ottenuto da un backup del database. Il file XML ottenuto tramite il comando xmlexportdb non viene accettato.

<file_SQL> — file per la scrittura di tutte le query SQL che verranno eseguite in caso di importazione del database dal file indicato nel <file_di_database>. Se nessun file SQL è indicato, la scrittura viene eseguita nel log di Server (nella forma di una lista delle tabelle e dei campi). Se un file è indicato, allora soltanto nel file SQL.

<filtro_delle_tabelle> — lista delle tabelle del database, informazioni su cui verranno riportate nel <file_SQL>. La lista delle tabelle deve essere indicata con la separazione da virgole. I nomi devono corrispondere ai nomi delle tabelle nel database. Per esempio: admins,groups,stations. Il filtro delle tabelle è valido solo per l'output nel file SQL. Se la lista delle tabelle non è indicata, vengono riportate tutte le tabelle.

Verifica del database

drwcsd verifydb — avvia il Server per controllare il database. Per scrivere informazioni sui risultati nel file di log, il comando deve essere inserito con l'opzione -log. L'utilizzo di questa opzione è descritto in maggior dettaglio in p. H3.8. Descrizione delle opzioni.

Accelerazione del database

drwcsd [<opzioni>] speedupdb — esegui i comandi VACUUM, CLUSTER, ANALYZE per accelerare l'utilizzo del database.

Ripristino del database

drwcsd repairdb — esegui il ripristino di un'immagine danneggiata del database incorporato SQLite3 o di tabelle danneggiate del database esterno MySQL.

Il ripristino di SQLite3 può anche essere effettuato automaticamente durante l'avvio del Server, se nelle impostazioni del database SQLite3 nel Pannello di controllo è selezionato il flag Ripristina immagine corrotta in automatico (v. Manuale dell'amministratore, p. Ripristino del database).

Pulizia del database

drwcsd cleandb — ripulisci il database di Server, eliminando tutte le tabelle.