【问题标题】:PHP Script to copy database from one server to anotherPHP脚本将数据库从一台服务器复制到另一台服务器
【发布时间】:2019-10-22 22:13:38
【问题描述】:

我有一个场景,我需要每天将生产数据库复制到我的开发数据库。两者都是不同的服务器。我想过写一个可以做这些事情的cronjob。我写了一个php脚本。我通过sshpass 连接到远程生产服务器,获取其转储然后填充该转储。

exec("sshpass -p 'mypassword' ssh root@IP_ADDRESS:PORT");
exec("mysqldump -u root -p DB > production_dump.sql");
exec("mysql -u root -p test < production_dump.sql");

但是在第一行它会抛出声明错误

ssh: Could not resolve hostname IP_ADDRESS:PORT: Name or service not known

我在互联网上尝试过给出的解决方案,但没有一个有效。任何人都可以解释我做错了什么吗?

【问题讨论】:

标签: database ssh sshpass


【解决方案1】:

您的命令失败,因为它的格式不正确。您需要使用以下格式之一:

sshpass -p 'mypassword' ssh root@IP_ADDRESS PORT
sshpass -p 'mypassword' ssh root@IP_ADDRESS -p PORT
sshpass -p 'mypassword' ssh ssh://root@IP_ADDRESS:PORT

但是,我不确定脚本的其余部分是否可以正常工作,尤其是当它开始要求输入密码时。一个bash脚本将是要走的路。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多