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"

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章