一、背景
在维护Linux服务器的时候,我们有时需要拷贝Windows下的文件到服务器,这个时候我们需要如何通讯呢?
在虚拟机中,我们有时候需要和本机进行数据的交互,可能会繁琐通过网络传送数据,或者直接通过U盘这样的方式在本机和虚拟机之间进行数据的交互。
二、过程
Windows下拷贝文件(tuning-primer.sh)到Ubuntu服务器上:
方式一:使用Putty里面的PSCP.EXE进行拷贝
1. 下载PSCP.EXE:putty.zip,拷贝PSCP.EXE到E盘目录下;
2. 在运行里输入cmd,进入E盘,输入下面的命令:
E:\>pscp.exe tuning-primer.sh [email protected]:/tmp/
方式二:使用Ubuntu(DeskTop-10)的操作界面进行拷贝:
1. 首先你需要为你的虚拟机里面的Ubuntu分配一个内网IP,可参考:VMware(Ubuntu)设置独立IP地址
2. 在Ubuntu的【位置】-【连接到服务器】-【服务器类型】中选择【Windows共享】,在【服务器】中输入你Windows的IP地址,点击【连接】这样你就可以访问你Windows下的所有文件了。
3. 如何使用命令进行上面的操作,待以后测试;
方式三:可参考:VMWARE WORKSTATION 虚拟机(客户机)创建和主机共享文件夹(为经过测试)
方式四:如果是使用VMware作为虚拟机的话,可以安装VMware Tools,直接拖文件到虚拟机就可以了。
方式五:以FTP的形式进行下载:Wget http://192.168.1.10:81/greenplum.bin /tmp/greenplum.bin
三、遇到问题
我在本地Windows拷贝到本地虚拟机的Ubuntu(DeskTop-10)下,提示下面的错误:
E:\>pscp.exe e:\downloads\jdk-6u31-linux-i586-rpm.bin [email protected]:/tmp/
测试拷贝到126(一个内网地址的机器,Server版本)就没问题
后来发现是我的Ubuntu是没装ssh,执行下面的命令查看并安装:
#ssh
#ufw status
#apt-get -y install openssh-client openssh-server
再次测试,成功了:
四、注意事项
1. PSCP是Putty安装包所带的远程文件传输工具,使用和Linux下scp命令相似。
2. 建议将PSCP.EXE放到C:\WINDOWS\system32下面,这样就可以在任何地方调用了。
3. 使用PSCP.EXE ?查看命令参数与选项。
4. PSCP.EXE的常用方法:
1) 把本地文件file传输到Linxu服务器的/tmp/
E:\pscp.exe file [email protected]:/tmp/
或者E:\pscp.exe -l root file 192.168.1.147:/tmp/(这里-l root要在file之前)
2) 把本地目录dir、文件file传输到Linux服务器的/tmp/,并指定服务器端口2009
E:\pscp.exe -P 2009 -r dir file [email protected]:/tmp/
3) 把服务器上的/tmp/file文件取回本地当前目录
E:\pscp.exe [email protected]:/tmp/file
4) 把服务器上的/tmp/dir目录取回本地"D:\data\"
E:\pscp.exe -r [email protected]:/tmp/dir "D:\data\"
五、参考文献
VMWARE WORKSTATION 虚拟机(客户机)创建和主机共享文件夹