Redirigir la salida descomprimida a wp db import

2 minutos de lectura

Necesito redirigir la salida de descomprimir un archivo a un wp db import.

Encontré varias soluciones para canalizar la salida de descompresión al comando mysql, pero no funcionan con wp-cli. Muestra para mysql:

gzip -c foo.sql.gz | mysql [args]

esto falla por wp db import con el siguiente error:

gzip -c foo.sql.gz | wp db import
Error: Import file missing: mydbname.sql

El problema parece ser que, en ausencia de un archivo de importación específico wp db import buscará un archivo con el nombre de su base de datos actual. No parece aceptar la salida de una canalización, ni acepta lo que debería ser el nombre del archivo de salida:

gzip -c foo.sql.gz | wp db import foo
Error: Import file missing: foo

gzip -c foo.sql.gz | wp db import foo.sql
Error: Import file missing: foo.sql

No sé lo suficiente sobre importaciones, exportaciones, stout y stin para arreglar esto. Preferiría evitar crear un archivo temporal debido al desorden, y preferiría usar wp-cli sobre mysql porque está en un script bash que podría ejecutarse en cualquier sitio de WordPress. Intenté usar varias iteraciones de gunzip, cat, gcat y gzip en el lado izquierdo de la tubería, pero sospecho que el problema está en el lado derecho de la tubería. También he probado esto con la redirección > en lugar de pipa |.

Avatar de usuario del usuario de Emacs
Usuario de Emacs

wp_db_import lee de STDIN cuando se usa -:

gzip -c -d foo.sql.gz | wp db import -

o pruebe variaciones del mismo con STDIN.

  • me falla: $ gzip -c trnn_latest_6-23-15.sql.gz | wp db import - ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ?U' at line 1

    – Golpe

    23 de junio de 2015 a las 21:59

  • Es SQL válido. Puedo descomprimir trnn_latest_6-23-15.sql.gz e importarlo con wp db import trnn_latest_6-23-15.sql

    – Golpe

    23 de junio de 2015 a las 23:05

  • ¡La -d era todo! Duh. =)

    – Golpe

    24 de junio de 2015 a las 3:15

  • Tenga en cuenta que esto funciona muy bien en OSX 10.10. En 10.8, falla con el error sh: -: no such file or directory.

    – Golpe

    14 de enero de 2016 a las 0:42

¿Ha sido útil esta solución?