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 |
.
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