[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: include php file in a bash script
waldicom
Собственно вопрос уже почти расписан.
Есть config.php, в нем в виде массива данные для доступа на базу данных, типа такого:
<?php return array (
'db' =>
array (
'host' => 'localhost',
'port' => '3306',
'username' => 'root',
'password' => 'root',
'dbname' => 'databae',
),
);


Мне нужно сделать дамп базы данных с помощью mysqldump так, чтобы имя и пароль считались из config.php

Файл config.php изменять нельзя.

Может кто подскажет, как решить?

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
killer8080
waldicom
почему бы mysqldump не вызвать из php? (в CLI разумеется)
waldicom
Я хочу вызывать этот скрипт на локальном хосте. А данные для дампа брать их конфига на сервере. Примерно такой вызов:
ssh user@host "cd dir; host=$(egrep 'host(.*) => (.*?),' config.php | cut -d\' -f4); echo $host > test.txt"

В принципе как бы вопрос этой темы решен. Не так, как я хотел, но все же доступ на переменные я имею. Но данная команда не работает, выдает ошибку, что файл config.php не найден.

Видимо действительно легче сделать скрипт на сервере и дергать его через ssh.

Или у глубоко копаю и решение на поверхности?

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
waldicom
Вроде придумал:


port=`php -r '$db=require("config.php"); echo $db["db"]["port"];'`
echo $port


_____________
Свои мозги еще никто не отменял.
Телепатов нету.
killer8080
mysqldump `php -r '$c = include "config.php"; $c=$c["db"]; echo "-h $c[host] -P $c[port]  -u $c[username] -p$c[password] $c[dbname]";'` > /path/to/dump.sql
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.