我们目前的网站由最初建立网站的设计机构托管,但是我们将网站的开发带到内部,因此需要从他们的服务器导出数据库并将其导入我们的服务器。
我们有 FTP 和 phpMyAdmin 访问权限,但没有对服务器的 SSH 访问权限。我希望运行一个 PHP 脚本,它将 mysql 转储数据库,压缩它,然后使用 scp 将其复制到我们的服务器:
$backupFile = $_SERVER['DOCUMENT_ROOT'].'/backup' . date("Y-m-d-H-i-s") . '.gz';
system("mysqldump -h DB_HOST -u DB_USER -pDB_PASS DB_NAME | gzip > $backupFile");
exec("sshpass -p PASSWORD scp -r -P PORT_NUMBER $backupFile USER@x.xx.xx.xxx:/path/to/directory/");
我已经从命令行本地运行了它,它运行良好,尽管我必须安装 sshpass(托管服务器可能没有安装它)。另外,我希望从浏览器运行它,因为我在托管服务器上没有命令行访问权限,但是它不起作用,但没有产生错误。
谁能推荐我如何从我没有 SSH 访问权限的服务器导出并导入到我的服务器?
谢谢