环境:在日常运维的工作当中。我们可以通过互联网远程连接到某一linux服务器上,但是日常工作当中,不可能只存在一个linux服务器,但是那些服务器我们不能直接通过互联网ssh到,无法通过WinSCP或者FileZilla类似的软件打开,进行图形拖拽方式的上传及下载文件。此时我们通常通过跳板机链接到所连的服务器上,获取文件到跳板机上,最后再get到目前的PC上
有关网络环境图pc--Internet---LinuxServer1----LinuxServer2
此时只可以远程链接到Server1上,不能PC直接连到Server2上,此时如果需要从Server2上下载数据文件,或者上传数据到Server2上,就只能通过Server1这个跳板机来进行数据的跳转。
本文介绍的是通过ftp的方式,来进行数据的get及put
Server1#ftp server2_ip
ftp>get [remote-file] [local-file] //此时建议使用绝对路径下达,remote及local都使用绝对路径。小弟曾在SunOS上通过get下载目录,后果非常严重,我当时的命令是get /usr/local/aaa/license.cer , 当时没有指定local-file以为会下载到当前目录。结果悲剧了,下载下来的license.cer文件直接到Server1的/usr/local/aaa/目录下,把Server1的license文件覆盖了。后果很严重吧。ftp还是弄清楚了再玩。
我个人建议不管get还是put,都可以放到/tmp目录中,成功或者失败都不会影响现网的业务。put或者get成功后,再从/tmp/目录中把需要的数据文件cp回需要的目录即可。
ftp>put local-file [remote-file]