做系统管理员,经常需要从本机向多台服务器拷贝文件,或者从多台服务器向本机拷贝文件,如果使用windows界面,要一次次的点击鼠标进行操作,太麻烦了。在linux下可以使用scp命令,用一个脚本就可以解决。当然每次都要输入口令,也可以命令行带参数或者干脆在多台服务器之间使用同一的证书,这样ssh就不要每次输密码了,很方便。
windows下也可以使用命令行的批处理来完成,思路是每次把一台的服务器用net
use进行盘符映射,拷贝完成后再把盘符映射成下一个服务器,再进行……。直到拷贝完所有文件,后再取消映射的盘符。同样每次映射时需输入用户和密码,可以带命令行参数,也可以把这些服务器的用户和密码设置成一样,这样就不用输入了。
如此操作十分方便,尤其对要管理的服务器比较多的情况下,执行命令后,就可以等待完成。不过为了查看最后的执行情况,可以把执行结果重定位到一个文本文件中,以后只要查看这个文件就可以知道拷贝情况,对拷贝不成功的服务器,分别找出原因,单独处理就可。
同样一个批处理文件,可以多次使用,省了每次都要单独去编写。
用到的命令为:
net use 驱动器名(如z:) //服务器1(IP地址)/共享名/路径
copy 本地文件 z:
net use 驱动器名(如z:) //服务器2(IP地址)/共享名/路径
copy 本地文件 z:
......
net use 驱动器名(如z:) //服务器n(IP地址)/共享名/路径
copy 本地文件 z:
net use z: /delete