Я создал скрипт для копирования удаленной базы данных, используя mysqldump внутри SSH-соединения. Затем я перенес свой скрипт на PHP, чтобы лучше управлять несколькими серверами.
Моя проблема, когда копирование не удается … Я не получаю код ошибки от команды.
Это команда:
ssh -p22 -i mykey.key -oStrictHostKeyChecking = no -oUserKnownHostsFile = / dev / null backup @ hostname «mysqldump -hlocalhost -udbuser —databases db»> myfile.sql
Работает =)
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
Мне нужно знать, когда копирование не удалось, кто-нибудь знает, как получить удаленный код ошибки?
Спасибо
Neubert Solution работает! Спасибо…
Я закончил с:
$comando = 'ssh -i mykey.key backup@hostname "mysqldump --databases db 2>&1\" 2>&1 > myfile.sql';
Других решений пока нет …