欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Shell腳本實(shí)現(xiàn)FTP自動(dòng)上傳和下載文件

 更新時(shí)間:2023年08月16日 10:58:29   投稿:zx  
本文主要介紹了Shell腳本實(shí)現(xiàn)FTP自動(dòng)上傳和下載文件,主要內(nèi)容包括批量下載腳本代碼、下載單個(gè)文件腳本代碼、登錄FTP實(shí)現(xiàn)上傳文件功能、上傳單個(gè)文件腳本代碼等

在日常備份數(shù)據(jù)時(shí),省時(shí)的方法是在后臺(tái)通過(guò)ftp傳輸數(shù)據(jù),可以嘗試以下的操作方式。

登錄FTP實(shí)現(xiàn)下載文件功能

FTP服務(wù)器:192.168.0.199 FTP路徑:/ftphome/data 本地路徑:/local/data 將文件從FTP下載到本地的腳本如下:

批量下載腳本代碼

  #從FTP上批量下載文件到本地
  #!/bin/sh
  ftp -v -n 192.168.0.199<<EOF
  user ftpuser ftppwd
  binary
  cd /ftphome/downloadData
  lcd /local/getDownloadData
  prompt
  mget *
 bye
 EOF
 echo "download from ftp successfully"

下載單個(gè)文件腳本代碼

  #從FTP上下載單文件到本地
  #!/bin/sh
  ftp -v -n 192.168.0.199<<EOF
  user ftpuser ftppwd
  binary
  cd /ftphome/downloadData
  lcd /local/getDownLoadData
  prompt
  #get test.txt
 get test.txt 
 bye
 EOF
 echo "download from ftp successfully" 

登錄FTP實(shí)現(xiàn)上傳文件功能

FTP服務(wù)器:192.168.0.199 FTP路徑:/ftphome/uploadData 本地路徑:/local/getUploadData 將文件從本地傳到FTP的腳本如下:

批量上傳腳本代碼

  #從本地向FTP批量上傳文檔
  #!/bin/sh
  ftp -v -n 192.168.0.199<<EOF
  user ftpuser ftppwd
  binary
  hash
  cd /ftphome/uploadData
  lcd /ftphome/getUploadData
  prompt
 mput *
 bye
 #here document
 EOF
 echo "commit to ftp successfully"

上傳單個(gè)文件腳本代碼

  #從本地向FTP上傳單個(gè)文檔
  #!/bin/sh
  PUTFILE = test.txt
  ftp -v -n 192.168.0.199<<EOF
  user ftpuser ftppwd
  binary
  cd /ftphome/uploadData
  lcd  /ftphome/getUploadData
 prompt
 put $PUTFILE
 bye
 #here document
 EOF
 echo "commit to ftp successfully"

命令解釋

登錄FTP

ftp -i -n 192.168.0.199 << EOF

<< 是使用即時(shí)文件重定向輸入 EOF是即時(shí)文件的標(biāo)志它必須成對(duì)出現(xiàn),以標(biāo)識(shí)即時(shí)文件的開(kāi)始和結(jié)尾。 ftp常見(jiàn)的幾個(gè)標(biāo)志有:

  • -d:使用調(diào)試模式,但必須編輯 /etc/syslog.conf 文件并添加以下中的一項(xiàng):user.info FileName 或 user.debug FileName。
  • -g:禁用文件名中的元字符拓展,即取消全局文件名。
  • -i :關(guān)閉多文件傳輸中的交互式提示。
  • -n:防止在起始連接中的自動(dòng)登錄。否則, ftp 命令會(huì)搜索 $HOME/.netrc 登錄項(xiàng),該登錄項(xiàng)描述了遠(yuǎn)程主機(jī)的登錄和初始化過(guò)程。
  • -v:顯示遠(yuǎn)程服務(wù)器的全部響應(yīng),并提供數(shù)據(jù)傳輸?shù)慕y(tǒng)計(jì)信息,即在程序運(yùn)行時(shí)顯示詳細(xì)的處理信息。

輸入FTP用戶名和密碼

user ftpuser ftppwd

ftpuser:登錄FTP時(shí)的用戶名 ftppwd:登錄FTP時(shí)的密碼

通過(guò)binary命令傳輸文件

binary

FTP文件傳輸類型有: ascii、binary、ebcdic、image、local M 和 tenex。

  • – ascii:將文件傳輸類型設(shè)置為網(wǎng)絡(luò) ASCII。此類型為缺省值,即默認(rèn)使用ascii方式進(jìn)行傳輸。
  • – binary:將文件傳輸類型設(shè)置為二進(jìn)制映像。需要使用binary方式傳輸?shù)奈募愋陀蠭SO文件、可執(zhí)行文件、壓縮文件、圖片等。此類型可能比 ASCII 傳送更有效。
  • – ebcdic:將文件傳輸類型設(shè)為 EBCDIC。
  • – image:將文件傳輸類型設(shè)置為二進(jìn)制映像。此類型可能比 ASCII 傳送更有效。
  • – local M:將文件傳輸類型設(shè)置為本地。M 參數(shù)定義每計(jì)算機(jī)字位的十進(jìn)制數(shù)。此參數(shù)沒(méi)有缺省值。
  • – tenex:將文件傳輸類型設(shè)為 TENEX 機(jī)器需要的類型。

切換散列符號(hào) (#) 打印

hash

當(dāng)用get或put命令傳送一個(gè)數(shù)據(jù)塊時(shí),讓FTP顯示一個(gè)#,這是看得見(jiàn)的確定數(shù)據(jù)在傳輸?shù)男盘?hào),在用戶不確信網(wǎng)絡(luò)是否工作時(shí)有用。當(dāng)傳輸很大的文件時(shí),如果FTP已顯示這種信息,表示傳輸正在進(jìn)行。hash命令是一個(gè)布爾變量式的命令,用hash命令打開(kāi)顯示#開(kāi)關(guān),再用hash命令關(guān)閉顯示。

切換目錄

分別在本地和FTP上進(jìn)入對(duì)應(yīng)文件夾下: 到FTP上對(duì)應(yīng)路徑(這里表示進(jìn)入/ftphome/downloadData的文件夾下):

cd /ftphome/downloadData

到本地的對(duì)應(yīng)路徑(這里表示在/ftphome/getDownloadData的文件夾下):

cd /ftphome/getDownloadData

切換交互式提示

prompt

使用mget或mput時(shí),prompt命令讓FTP在傳輸每個(gè)文件前進(jìn)行提示,這樣防止覆蓋已有的文件。若發(fā)出prompt命令時(shí)已經(jīng)啟動(dòng)了提示,F(xiàn)TP將把提示關(guān)掉,此時(shí)再傳輸所有的文件則不會(huì)有任何提問(wèn)。

文件傳輸

下載文件

下載多個(gè)文件: 格式:mget [remote-files] 例如:獲取遠(yuǎn)端所在文件夾下所有文件

 mget *
 #或
 mget *.*

注:mget . 每下載一個(gè)文件,都會(huì)有提示。如果要除掉提示,則在mget . 命令前先執(zhí)行:prompt off。

下載單個(gè)文件: 格式:get [remote-file] [local-file] 例如:獲取遠(yuǎn)端FTP上的text.txt文件

get a.txt

上傳文件

上傳多個(gè)文件: 格式:mput local-files 例如:將所在文件夾下所有文件上傳到FTP上

mput *

上傳單個(gè)文件: 格式:put local-file [remote-file] 例如:將本地text.txt文件上傳到遠(yuǎn)端FTP上

put a.txt

斷開(kāi)連接

bye

結(jié)束文件傳輸會(huì)話并退出 ftp 命令,與quit命令相同。

分界符標(biāo)志

... << EOF
#execute shell
EOF

EOF只是一個(gè)分界符標(biāo)志,完全可以用abc, ! 等替換,也一樣的功能,只是大家都習(xí)慣用EOF來(lái)表示。 <<用法:當(dāng)shell看到<<的時(shí)候,它就會(huì)知道下一個(gè)詞是一個(gè)分界符。在該分界符以后的內(nèi)容都被當(dāng)作輸入,直到shell又看到該分界符(位于單獨(dú)的一行)。因此分界符可以是定義的任何字符串。

解決:ftp命令行不支持目錄下載 通過(guò)wget得到解決 #wget ftp://IP:PORT/* --ftp-user=xxx --ftp-password=xxx -r 注: 星號(hào)*必須有,否則下載下來(lái)的就一個(gè)文件index.html -r參數(shù)就是用來(lái)目錄下載的

到此這篇關(guān)于Shell腳本實(shí)現(xiàn)FTP自動(dòng)上傳和下載文件的文章就介紹到這了,更多相關(guān)Shell FTP自動(dòng)上傳和下載文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux shell命令幫助格式詳解

    Linux shell命令幫助格式詳解

    最近看了一個(gè)教程,關(guān)于Linux命令的,本來(lái)以為當(dāng)是復(fù)習(xí)隨便看看的,結(jié)果看了不禁汗顏,這個(gè)真挺有學(xué)問(wèn)的,很多東西都是我還不知道的,故此做總結(jié)。下面這篇文章主要介紹了Linux shell命令幫助格式的相關(guān)資料,需要的朋友可以參考借鑒。
    2017-01-01
  • Linux中使用expect腳本實(shí)現(xiàn)遠(yuǎn)程機(jī)器自動(dòng)登錄

    Linux中使用expect腳本實(shí)現(xiàn)遠(yuǎn)程機(jī)器自動(dòng)登錄

    本篇文章給大家介紹在Linux中使用expect腳本實(shí)現(xiàn)遠(yuǎn)程機(jī)器自動(dòng)登錄,前提是要?jiǎng)?chuàng)建一個(gè)expec腳本ssh_expect,接下來(lái)定義一些命令別名等,下面跟著腳本之家小編一起學(xué)習(xí)學(xué)習(xí)吧
    2015-09-09
  • Shell命令行中特殊字符與其轉(zhuǎn)義詳解(去除特殊含義)

    Shell命令行中特殊字符與其轉(zhuǎn)義詳解(去除特殊含義)

    這篇文章主要給大家詳細(xì)介紹了Shell命令行中特殊字符與其轉(zhuǎn)義(去除特殊含義)的相關(guān)資料,文中介紹的很詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來(lái)一起看吧。
    2017-02-02
  • Linux 進(jìn)程替換(exec函數(shù))實(shí)現(xiàn)代碼

    Linux 進(jìn)程替換(exec函數(shù))實(shí)現(xiàn)代碼

    這篇文章主要介紹了Linux 進(jìn)程替換(exec函數(shù))實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Linux 中的nc命令小結(jié)

    Linux 中的nc命令小結(jié)

    這篇文章主要介紹了linux中的nc命令知識(shí),非常不錯(cuò),值得收藏,需要的朋友參考下吧
    2017-02-02
  • linux編寫.sh腳本并賦權(quán)限問(wèn)題

    linux編寫.sh腳本并賦權(quán)限問(wèn)題

    這篇文章主要介紹了linux編寫.sh腳本并賦權(quán)限問(wèn)題,文中給大家提到了Linux為sh腳本文件添加執(zhí)行權(quán)限的方法,需要的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-06-06
  • linux shell命令行選項(xiàng)與參數(shù)用法詳解

    linux shell命令行選項(xiàng)與參數(shù)用法詳解

    本文介紹了linux shell中使用命令行選項(xiàng)與命令行參數(shù)的方法,在bash中,可以用以下三種方式來(lái)處理命令行參數(shù),每種方式都有自己的應(yīng)用場(chǎng)景
    2014-04-04
  • Linux鏈接命令的實(shí)例詳解

    Linux鏈接命令的實(shí)例詳解

    這篇文章主要介紹了Linux鏈接命令的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文大家能掌握Linux鏈接命令的使用方法,需要的朋友可以參考下
    2017-08-08
  • 高級(jí)開(kāi)發(fā)運(yùn)維測(cè)試必須掌握的envsubst命令使用詳解

    高級(jí)開(kāi)發(fā)運(yùn)維測(cè)試必須掌握的envsubst命令使用詳解

    這篇文章主要為大家介紹了高級(jí)開(kāi)發(fā)運(yùn)維測(cè)試必須掌握的envsubst命令使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Linux中g(shù)rep命令詳解

    Linux中g(shù)rep命令詳解

    grep命令是Linux系統(tǒng)中最重要的命令之一,功能是從文本文件或管道數(shù)據(jù)流中篩選匹配的行和數(shù)據(jù),如果再配合正則表達(dá)式,功能十分強(qiáng)大,是Linux運(yùn)維人員必備的命令,這篇文章主要介紹了Linux中g(shù)rep詳解,需要的朋友可以參考下
    2023-02-02

最新評(píng)論