使用PHP复制远程MySQL数据库失败时没有收到错误代码 - > SSH - > mysqldump的

时间:2014-10-01 12:49:41

标签: php ssh mysqldump

我创建了一个脚本,用于在SSH连接中使用mysqldump复制远程数据库。然后我移植到我的PHP脚本,以便我可以更好地管理多个服务器。

我的问题是当复制失败时...我从命令中得不到错误代码。

这是命令:

ssh -p22 -i mykey.key -oStrictHostKeyChecking = no -oUserKnownHostsFile = / dev / null backup @ hostname“mysqldump -hlocalhost -udbuser --databases db”> myfile.sql

它有效=)

带有简化systax的PHP代码:

$comando = 'ssh -i mykey.key backup@hostname "mysqldump --databases db" > myfile.sql';
$ret_text = exec($comando, $output, $ret);
// Doesnt matter if command fails or sucess, result is?
//$ret = empty
//$output = empty
//$ret_text = empty

我需要知道复制失败的时候,是否有人知道如何获取远程错误代码?

由于

1 个答案:

答案 0 :(得分:0)

neubert解决方案有效!感谢...

我结束了:

$comando = 'ssh -i mykey.key backup@hostname "mysqldump --databases db 2>&1\" 2>&1 > myfile.sql';