Come saltare tabelle specifiche con Dump SQL-Dump?
Domanda
Ho un file di configurazione di Drush ~ / .Drush / Drushrc.php:
if (!isset($options['structure-tables']['common'])) {
$options['structure-tables']['common'] = array(
'cache', 'cache_*', 'history', 'search_*', 'sessions', 'watchdog'
);
}
$options['structure-tables']['common'] = array_merge($options['structure-tables']['common'],
array('ctools_css_cache', 'ctools_object_cache', 'logz', 'views_object_cache')
);
.
e ho un file di script bash:
/usr/bin/drush sql-dump --root="/home/username/domains/sitename/www" --skip-tables-key="common" --gzip --result-file=/home/username/backup/$year/$month/dbname_$date_now_time.sql
.
Ma quando lo eseguo il file di backup ha ancora dati nelle tabelle della cache. Che cosa sto facendo di sbagliato?
e la seconda domanda è - se metto questo in crontab, ho bisogno di mettere il file di configurazione da qualche altra parte?
Io uso la versione 8.
Soluzione
Scusa non posso aiutarti molto con la tua prima domanda ...
La tua 2a domanda ha chiesto:
.e la seconda domanda è - se metto questo in crontab, ho bisogno di mettere il file di configurazione da qualche altra parte?
the Doch Documentation Site links a DrushRC.php File di esempio che dice dove tu può posizionare il file RC:
https://raw.githubuserContent.com/ Drush-Ops / Drush / Master / Esempi / Esempio.Drushrc.php
.Rinominare questo file su Drushrc.php e facoltativamente copiarlo su uno dei luoghi elencati di seguito in ordine di precedenza:
.
- Cartella del sito Drupal (A.G. Siti / {default | example.com} /drushrc.php).
- Drupal / Sumruss and Sites / Tutelle / Tutelle / Purbultate o Cartella / Schush Nella directory sopra la radice drupal.
- in qualsiasi posizione, come specificato dall'opzione --config (-c).
- Cartella dell'utente .Drush (I.e. ~ / .Drush / Drushrc.php).
- System Wide Configuration Folder (ad esempio /etc/Drush/drushrc.php).
- Cartella di installazione di Drush.
per cron La documentazione raccomanda che non è configurata per eseguire come lo stesso utente che Gestisci il tuo server web. Detto quello che viene detto ti consiglio di posizionare il tuo file RC in posizione (5), una cartella di configurazione a livello di sistema. Sì, i file RC di Drush, più localizzati devono sovrascrivere il file di configurazione a livello di sistema secondo necessità (oh bene).
Altri suggerimenti
Scarica tutte le tabelle ad eccezione della tabella e delle tabelle cache
che iniziano con cache_
.
drush sql-dump --skip-tables-list=cache,cache_* > dumpfile.sql
.
Struttura del database solo.Nessun dato affatto.
drush sql-dump --extra=--no-data > dumpfile.sql
.
Solo dati.Nessun dato della cache e nessuna struttura della cache.
drush sql-dump --skip-tables-list=cache,cache_* --data-only > dumpfile.sql
.
Nessun dato della cache ma scarica le loro strutture.
drush sql-dump --structure-tables-list=cache,cache_* > dumpfile.sql
.
Per qualche motivo cache_ * non ha funzionato per me con Drush 9+ fino a quando ho omesso il sottolineatura.Tuttavia, questo potrebbe essere specifico per il mio (server) bash / terminale. Cosa ha funzionato per me:
drush sql-dump --skip-tables-list=cache*
.
E puoi sempre aggiungere il --verbose
per vedere il dump MySQL effettivo e il parametro IT -ignore.