2017-09-18 1 views
1

데이터베이스를 로컬 컴퓨터에 복사하여 로컬 호스트의 데이터베이스와 서버의 데이터베이스를 동기화하려고합니다.PHP에서 exec()를 통해 mysqlddump와 데이터베이스 동기화하기

ssh [email protected] "mysqldump -u user -p'secret' db-name" | mysql -u local_user -p'secret' db-name 

있는 ssh 로그인이 [email protected]에 같은 암호로 자동화되었습니다

나는 터미널에서 문제없이 작동하는 다음과 같은 쉘 명령이 있습니다.

PHP에서 exec()이 명령을 실행 해 보았습니다 만 결과가 없습니다.

exec(ssh [email protected] "mysqldump -u user -p'secret' db-name" | mysql -u local_user -p'secret' db-name) 

진행 방법에 대한 아이디어가 있으십니까?

+0

PHP는 직업에 대한 잘못된 도구처럼 들릴 수 있습니다 : cron - 아마도 rsync와 결합하여 - 아마 훨씬 쉽게 만들 수 있습니다. – jeroen

답변

0

대신 ssh_exec을 사용하십시오 (docs).

<?php 
$connection = ssh2_connect('shell.example.com', 22); 
ssh2_auth_password($connection, 'username', 'password'); 

$stream = ssh2_exec($connection, '/usr/local/bin/php -i'); 
?> 
관련 문제