最近在写了个脚本准备把linux环境下的文件批量传到FTP服务器上,本地测试一切正常,但是执行的时候却总是提示“安全扩充项未实施”的错误,而无法将文件上传。谷歌、百度了很久都没找到原因。正在崩溃之际,突然被我想到,会不会是被动模式的关系。因为被动模式下会使用21以外的端口,而服务器上的防火墙限制了其他端口的使用。想到这个,就决定改成主动模式看看(在命令中加一句:passive 即可),结果它就成功了。:P

脚本如下:

#!/bin/bash

/usr/bin/ftp -in 192.168.1.100 <<FTPCMD
user ftpuser ftppwd
passive
mput *.*
bye
FTPCMD