答案 0 :(得分:3)
连接ssh:
首先从您的控制台sshpass
$ sudo apt-get install sshpass
然后你可以使用这个命令
$ sshpass -p your_password ssh user@hostname
使用php
<?php
exec("sshpass -p your_password ssh user@hostname");
?>
您可以使用以下命令转储数据库:
<?php
exec("mysqldump -uroot -padmin wpdatabase > /home/test.sql");
?>
注意:
root
是用户,admin
是密码。
参考:
答案 1 :(得分:1)
您可以使用Bash中的两个命令执行此操作:
1)使用SSH,生成MySQL转储(-p与数据库密码之间缺少的空间是有意的):
$ ssh user@mysqlhost -x "mysqldump -u dbuser -pdbpass db_name > ~/file.sql"
2)使用SCP,将文件传输到本地主目录:
$ scp user@mysql_host:~/file.sql ~/
请查看此博客文章,了解如何在服务器上设置SSH密钥,因此您无需输入密码:https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2
答案 2 :(得分:0)
<?php
$vps_ip= vps_ip;
$connection = ssh2_connect($vps_ip, 22);
ssh2_auth_password($connection, $root, $passwd);
$cmd1="mysqldump -u root -pxyzzy wpdatabase > /home/back.sql";
ssh2_scp_recv($connection, '/home/back.sql', '/home/back/myback.sql');
?>
〜
这是为我做这份工作的更好方法。