本文主要是介绍Shell FTP文件上传下载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.上传文件到ftp
创建一个shell文件:touch upload.sh
修改为可执行文件:chmod +x upload.sh
编辑:vim upload.sh
,脚本内容如下
cd /user/directory/target
export putfile=yyy.jar
ftp -v -n ftp.xxx.com<<EOF
user huyikang psswd #用户名和密码
passive on
binary
delete $putfile #先把删除的
put $putfile
passive off
bye
EOF
echo "send success"
首先进入target文件夹下,然后连接ftp,进入passive模式,打开二进制上传,上传文件,关闭passive模式,退出
这里需要注意的俩个锅:
a.这里的有一个export变量,如果export变量设置为
export putfile=/user/directory/target/yyy.jar
将会报错,上传文件自然就失败啦:
553 Could not create file.
是因为如果带有文件夹路径的话,put到ftp上之后也带有文件夹,所以在ftp会有一步创建文件夹的操作,这当然是不允许的,所以这里不能带有路径,解决办法,就是先cd到对应的文件夹,然后再put文件
b.如果没有打开passive,这里会有一个warning
200 PORT command successful. Consider using PASV.
所以在进入到ftp之后,打开passive,操作结束之后,关闭passive即可。
2.FTP文件下载
export filename=yyy.jar
rm $filename
ftp -v -n ftp.xxx.com<<EOF
user huyikang ******(密码)
get $filename
EOF
echo "get success"
这篇关于Shell FTP文件上传下载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!