Быстрый способ вывести базу данных Wordpress, не роя через конфигурационные файлы?

У меня есть загрузка сайтов Wordpress, чтобы переместить и изменить этим днем. Yay.

Как любой хороший разработчик, я хочу создать резервную копию вещей, прежде чем я Халк и буду повреждать все. Файлы сайта являются главным образом версией, которой управляют (и те, которые не являются, сохранены). База данных - что-то еще. Существует много сайтов, установленных на этом сервере, таким образом, центральный дамп не так полезен, как я хотел бы. Я хочу сайт-специфичный дамп.

Одна из самых раздражающих вещей о выполнении этого вручную выбирает детали от wp-config.php. Интересно, существует ли больше простого способа обработать этот файл и передать его детали на mysqldump в одной команде.


Я отправил ответ при записи вопроса, но это ни в коем случае не единственный способ сделать это. Если кто-то может предложить лучший способ обработать это, сообщить мне. Просто знайте, что PHP позволит все виды ерунды. Что-либо используемое здесь должно принять, варьировался, но допустимый PHP.

0
задан 15 May 2014 в 05:29

1 ответ

Хорошо при записи вопросу нескольких идей, вытолканных в мою голову. Это является первым, и это, кажется, работает. Вместо того, чтобы пытаться вручную проанализировать wp-config.php файл (который мог быть в любом порядке), я собираюсь выбрать строки, я на самом деле хочу и заставляю PHP сделать весь тяжелый подъем. Вот то, что я имею:

eval $((echo '<?php'; awk '/^define/' wp-config.php; echo 'print "mysqldump -u".DB_USER." -p".DB_PASSWORD." ".DB_NAME." > database-".DB_NAME."-\$(date +%F).sql\n";') | php)

то, Что это на самом деле делает, делает поддельный Сценарий PHP в канале, отправляя это в PHP и затем с помощью вывода для выполнения. Вот то, что мы имеем, прежде чем PHP обрабатывает его:

<?php
define('DB_NAME', 'my_lovely_database');
define('DB_USER', 'oli');
define('DB_PASSWORD', 'oli');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
define ('WPLANG', '');
print "mysqldump -u".DB_USER." -p".DB_PASSWORD." ".DB_NAME." > database-".DB_NAME."-\$(date +%F).sql\n";

, Когда это работает в php, это генерирует строку как так:

mysqldump -uoli -poli my_lovely_database > database-my_lovely_database-2014-05-14.sql

И мы говорим bash выполнять это, и это создает новое резервное копирование базы данных.

Сохраняют это как функцию или псевдоним в ударе, и Вы будете жить долгой и счастливой жизнью.

1
ответ дан 8 August 2019 в 19:24

Другие вопросы по тегам:

Похожие вопросы: