cp是在一个机器内复制粘贴,而scp可以在两个机器间复制粘贴。详细使用手册参考http://man.linuxde.net/scp
当需要通过脚本给远程服务器scp文件的时候,由于一般需要输入密码,所以这里需要通过交互式脚本expect来实现。代码如下:
expect -c "
spawn scp ${local_host_path} ${remote_host_path}
expect {
\"*assword\" {set timeout 300; send \"${yourpwd}\r\";}
\"yes/no\" {send \"yes\r\"; exp_continue;}
}
expect eof"
确保机器上装了expect命令。然后按照上面这样写就行了。
注意:一次只能传一个文件!如果有多个文件要传输,只能一个个写或者搞个循环。