分享知識 傳遞快樂
lftp支援FTP、SETP、HTTP和FTPs等多種檔案傳輸協定。 還支援FXP,允許資料繞過用戶端直接在兩個FTP伺服器之間傳輸。
同時還有遞歸鏡像整個目錄樹以及斷點續傳下載下傳的功能, lftp的傳輸任務可以安排時間段計劃執行,可以限制帶寬和建立傳輸清單,支援類似Unix shell的任務控制。
下面舉例看一下FTP下載下傳的指令:
#!/bin/sh
lftp -u guest,1234567 sftp://10.1.1.100:22<<EOF
cd /home/guest/test/data/2019101900
lcd /home/guest/test/temp
get continuous_apply.zip
by
EOF
解析:
- lftp -u <使用者名>,<密碼> sftp://<IP>:<端口>
- EOF隻是一個分界符标志 也可以使用EOM
- cd是在遠端主機目錄操作的指令
- lcd是在本地主機目錄操作的指令
- get就擷取單個檔案下載下傳
如果某個目錄下有一個檔案可以使用ftp指令:
get xxx
如果是某個目錄下有多個檔案(且不需要擷取目錄下子檔案夾下的内容):
mget *
如果是某個目錄下有子目錄希望擷取所有子目錄:
wget -nH -m --ftp-user=myusername--ftp-password=mypassword ftp://ip/Temp/publish/wrapper/
執行後,會将wrapper目錄下的子目錄及檔案全部擷取到/Temp/publish/wrapper路徑下。
總結一下常用的FTP指令:
- open:與伺服器相連接配接;
- send(put):上傳檔案;
- get:下載下傳檔案;
- mget:下載下傳多個檔案;
- cd:切換目錄;
- dir:檢視目前目錄下的檔案;
- del:删除檔案;
- bye:中斷與伺服器的連接配接
如需了解完整的上傳下載下傳腳本,請參考以下兩篇文章:
Shell實作FTP上傳檔案,并儲存執行日志
Shell實作FTP下載下傳檔案,并儲存執行日志
如果沒有FTP指令或FTP功有受限時,還可以使用SCP指令實作檔案互動:
Linux不用FTP指令的情況下實作檔案互動(SCP指令傳輸)