Question

J'ai un fichier de configuration 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')
);

Et j'ai un fichier 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

Mais lorsque je l'exécute, le fichier de sauvegarde contient toujours des données dans les tables de cache.Qu'est-ce que je fais mal?

Et la deuxième question est la suivante : si je mets cela dans crontab, dois-je placer le fichier de configuration ailleurs ?

J'utilise Drush version 8.

Était-ce utile?

La solution

Désolé, je ne peux pas vous aider beaucoup avec votre première question ...

Votre 2e question posée:

et une deuxième question est - si je mets cela dans crontab, dois-je mettre un fichier de configuration ailleurs?

the liens de site de documentation de Drushrc.php Exemple de fichier qui dit où vous Peut placer le fichier RC:

https://raw.githubusercontent.com/ drush-ops / drush / maître / exemples / exemple.drustrc.php

Renommez ce fichier sur drushrc.php et copiez-le en option sur l'un des endroits énumérés ci-dessous par ordre de priorité:

  1. Dossier de site Drupal (E.G. Sites / {Par défaut | Exemple.com} /DRUSHRC.PHP).
  2. Drupal / Thrush et sites / Tous / Thrush Dossiers, ou le dossier / Drush dans le répertoire au-dessus de la racine drupale.
  3. dans n'importe quel emplacement, comme spécifié par l'option --config (c).
  4. dossier .Drung de l'utilisateur (c'est-à-dire ~ / .Drush / drushrc.php).
  5. Dossier de configuration large du système (par exemple /etc/drung/drushrc.php).
  6. Dossier d'installation de Drush.

pour cron La documentation recommande que Drush soit configuré pour exécuter comme le même utilisateur que exécute votre serveur Web. Cela étant dit, je vous recommande de placer votre fichier RC en position (5), un dossier de configuration à l'échelle du système. Oui, les fichiers RC plus localisés de Drush RC devront alors remplacer votre fichier de configuration à l'échelle du système au besoin (oh bien).

Autres conseils

Vider toutes les tables sauf la cache tableau et tableaux commençant par cache_.

drush sql-dump --skip-tables-list=cache,cache_* > dumpfile.sql

Structure de base de données uniquement.Aucune donnée du tout.

drush sql-dump --extra=--no-data > dumpfile.sql

Données uniquement.Aucune donnée de cache et aucune structure de cache.

drush sql-dump --skip-tables-list=cache,cache_* --data-only > dumpfile.sql

Pas de données en cache mais dump dans leurs structures.

drush sql-dump --structure-tables-list=cache,cache_* > dumpfile.sql

documentation du dump SQL

Pour une raison quelconque, cache_* n'a pas fonctionné pour moi avec drush 9+ jusqu'à ce que j'oublie le trait de soulignement.Cependant, cela peut être spécifique à mon bash/terminal (serveur).Ce qui a fonctionné pour moi :

drush sql-dump --skip-tables-list=cache*

et vous pouvez toujours ajouter le --verbose pour voir le dump mysql réel et son paramètre --ignore.

Licencié sous: CC-BY-SA avec attribution
Non affilié à drupal.stackexchange
scroll top