在服务器之间做数据备份一般会用到远程拷贝命令,scp命令就可以做到远程拷贝,并且支持从本地到远程的拷贝和从远程到本地的拷贝。一般情况下执行拷贝命令时会提示我们输入远程服务器的用户名和密码,这在自动执行的程序中是一个障碍,因为没有人工的干预。关于服务器之间互访不需要密码的方式前面已经有介绍,可以参考前面的文章。这里介绍一下scp拷贝命令。假设有两台服务器A和B,B服务器的IP地址是115.47.169.130,现在需要将B服务器上的/var/logs/test.log文件拷贝到A服务器上的/bak/目录下。则可以在A服务器上执行命令
/usr/bin/scp root@115.47.169.130:/var/logs/test.log /bak/test.log
如果需要将A服务器上的/bak/test.sql拷贝到B服务器的/data/目录下则可以在A服务器上执行
/usr/bin/scp /bak/test.sql root@115.47.69.130:/data/test.sql
说到这里如果要在B服务器上操作,相信各位应该都会了吧,另外一点如果远程服务器默认的端口不是22可以使用在scp后使用-P命令指定端口,例如:
/usr/bin/scp -P2200 root@115.47.169.130:/var/logs/test.log /bak/test.log