在进行数据库备份的时候,我们一般都是将数据备份到数据库这台服务器上,那么为了防止出现意外情况(服务器停电、服务器损坏等)而造成数据丢失、应用程序丢失,我们进行双重备份。将数据库服务器的数据进行异地备份。

这里我们将数据库先备份到本地服务器,然后利用scp命令将备份文件远程复制到远程机上。

1
scp -r local_folder remote_username@remote_ip:remote_folder 
  • local_folder 是本地服务器的数据库文件的路径。
  • remote_username 是远程机的用户名。
  • remote_ip 是远程机的IP地址。
  • remote_folder 是存放到远程机的路径。

出错了, — _—!

原来我远程备份的是Windows系统,Windows系统是没有ssh服务需要安装一个客户端来提供服务,这里选择的工具是“Bitvise SSH Server”(下载方式很多,百度上搜索一下)。

  1. 运行安装exe文件,按照操作步骤进行安装。

​ 勾选“I agree……”,可自定义选择安装路径,然后点击Install按钮

​ 选择“Personal edition”,点击OK按钮。

​ 输入名字信息(可以随便输入),然后点击OK按钮

​ 点击“确定”按钮。

​ 点击“Open easy setting”,打开配置页面

​ 选择“Open port(s) to any computer”,然后点击Next按钮

​ 去掉图中的勾选项,不让使用windows账号登陆。然后点击“3.Virtual accounts”选项卡。

​ 点击add按钮,创建一个虚拟账户

先输入用户名,然后勾选,设置密码

​ 点击“Save changes”按钮,回到主面板。

​ 在主面板上点击Start Server按键。

​ 然后执行cmd进入命令行输入框,执行“netstat -ano | findstr 22”命令,查看22(ssh)端口是否开启。

​ 显然22(SSH)端口已经开启。

  1. 登陆Linux系统,执行scp命令向winserver服务器拷贝文件,查看结果。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    echo "hello world" >> a.txt

    scp a.txt sshuser@10.2.3.210:/D:/key

    The authenticity of host '10.2.3.210 (10.2.3.210)' can't be established.
    DSA key fingerprint is 71:b2:88:c7:f7:cd:b9:ec:31:2e:13:54:6b:76:0f:8c [MD5].
    Are you sure you want to continue connecting (yes/no)? yes

    Warning: Permanently added '10.2.3.210' (DSA) to the list of known hosts.

    sshuser@10.2.3.210's password: 【这里输入sshuser用户的密码】

    a.txt 100% 12 0.0KB/s 00:00

    在windows系统查看文件是否复制过来。

  2. 登陆Linux主机,在相关用户下执行如下命令,生成公钥:

    1
    ssh-keygen -t rsa (连续三次回车,可以生成公钥和私钥)

    将在Linux主机的当前用户HOME目录下的.ssh目录,生成id_rsa.pub和id_rsa,其中,id_rsa是密匙,id_rsa.pub是公匙。

    1
    2
    3
    4
    5
    6
    7
     cd ~/.ssh

    scp id_rsa.pub sshuser@10.2.3.210:/D:/key/

    sshuser@10.2.3.210's password: 【这里输入sshuser用户的密码】

    id_rsa.pub 100% 399 0.4KB/s 00:00
  3. 将公匙导入到WinSSHD

    进入Open easy setting–>Virtual accounts选项卡,点击Edit按钮

​ 点击“Public keys”

​ 点击Import,导入刚才从Linux系统传过来的公钥(authorized_keys),然后点击Close。

​ 看到出现“1 key”,点击OK按钮。

  1. 再次通过Linux系统进行传输,检查能否正常传输。

    1
    2
    3
    scp id_rsa.pub sshuser@10.2.3.210:/D:/key/

    id_rsa.pub 100% 399 0.4KB/s 00:00

    显然已经得到认证,无需输入密码即可进行传输。